2009-07-29 32 views
8

Cuando vaya a la página de mi sitio web donde hay contenido adicional, la barra de desplazamiento aparece a la derecha, pero tiene un desplazamiento notable a la izquierda para mi contenido. Usted nota esto al hacer clic en Inicio y luego en el alojamiento y de regreso en mi sitio (www.ipalaces.org)Desplazamiento de la barra de desplazamiento del navegador

¿Cómo puedo tener en cuenta la barra de desplazamiento del navegador en mis páginas? ¿Puedo hacer que la barra de desplazamiento siempre esté visible al menos?

Mi sitio web es www.ipalaces.org, por favor avíseme.

+0

Para aquellos que intentan reproducirse, es posible que necesite hacer que su ventana sea más pequeña. – waiwai933

+0

Funciona bien para mí en IE8. ¿De qué navegador estamos hablando aquí? – Joey

+0

Todos los navegadores, estoy usando 1360 x 768 res, 720P en mi HDTV, así que tal vez su resolución sea más alta, lo que le permite ver el contenido completo, si es así, intente ir aquí http://www.ipalaces.org/hosting/ domains.html y luego haga clic en Inicio para notar la diferencia. – ParoX

Respuesta

3

Haga que su cuerpo sea 101% alto ... esto obligará a la barra de desplazamiento a aparecer siempre.

body {height:101%} 
+0

Eso funciona bien, pero luego hay un molesto cambio hacia abajo de 1 píxel. ¿No hay una manera de hacer que todos los navegadores muestren la barra de desplazamiento pero la tienen deshabilitada si no es necesaria? Como -moz-scrollbars-vertical; pero más universal – ParoX

+0

html, cuerpo {altura: 100%; margin-bottom: 1px;} Parece que ha reducido la brecha, pero todavía hay una brecha molesta. – ParoX

11

Bueno, depende del navegador.

body { 

overflow-y: scroll; 
overflow-x: scroll; 
overflow: -moz-scrollbars-vertical; 

} 

debería forzar a los (overflow-x) y barras de desplazamiento verticales horizontales (overflow-y) que se mostrará. Aunque recuerdo que Opera a veces no respeta la declaración, a menos que esté en un elemento dentro del <body> (divs y similares).


Editado con respecto a @ wsanville de, y @, el comentario de Bhare.

+0

Esto deja una fea barra de desplazamiento doble cuando lo necesita. – ParoX

+0

Defina 'barra de desplazamiento doble'. ¿Dos barras de desplazamiento juntas en cada eje? –

+1

No debe aplicar las propiedades de desbordamiento a 'html' y' body'; de lo contrario, tendrá dos barras de desplazamiento. ¡Yuck! – wsanville

1

Dale una oportunidad ... Sé que es feo, pero puede ser la única manera.

#force_scroll { 
    width: 1em; 
    position: absolute; 
    top: 0; 
    bottom: -0.1px; 
    z-index: -1; 
} 

Y luego en el código HTML en alguna parte (preferentemente justo antes de su </body>):

<div id="force_scroll"></div> 
+0

Antes de mi qué? Esto tampoco funciona. – ParoX

+0

-0.1px no es una medida válida. Aun así, usar -1px o -0.1em aún deja el mismo efecto que margin-bottom: 1px; La página aún puede desplazarse hacia abajo 1 píxel. – ParoX

+0

@Brian, mira la edición. Originalmente el '' no se escapó/marcó como código. Entonces no fue renderizado en la página. Me doy cuenta de que probablemente sea demasiado tarde para ser útil. –

1
body { 
    overflow: scroll; 
} 

tuve el mismo problema con incluso el más nuevo Firefox (3.5). ¡La función de desbordamiento salvó mi vida!

7

He probado esto en IE6, IE7, IE8, Firefox 3 y Chrome, y la forma más sencilla de tener una barra de desplazamiento vertical siempre visible es simplemente:

html { overflow-y: scroll; } 
+0

Esto parece menos hackish que la respuesta otorgada. http://css-tricks.com/eliminate-jumps-in-horizontal-centering-by-forcing-a-scroll-bar/ –

1

Esto parece un gran trabajo para yo ...

html { 
    overflow-y: scroll; 
} 
Cuestiones relacionadas