2012-03-10 7 views
9

Tal vez esta es una solución fácil, pero me ha estado volviendo loco durante mucho tiempo, así que finalmente decidí ver si existe una solución.Cómo compensar la barra de desplazamiento vertical cuando aún no está presente

En pocas palabras, centro la mayoría de mis páginas web dentro de amplios puertos de visualización.

Ejemplo, un puerto de visualización puede ser capaz de 1028px y quiero que el ancho de mi página sea solo de 960px.

Así que mi css se parece a esto:

#pageWrapper { /* page width is 960 pixels */ 
    margin:0 auto; 
    width:960px; 
} 

No hay problema con eso.

El problema aparece cuando comienzo una página dinámica que es más corta que la altura y luego mi página se expande (mediante jQuery slideOut, etc.) debajo de la parte inferior de la pantalla y hace que aparezca la barra de desplazamiento vertical.

Termina haciendo parpadear la página a la izquierda durante el desplazamiento y luego parpadea a la derecha durante slideIn.

¿Hay algún camino a través de css para forzar un margen derecho de 20px y aún tomar ventaja de margin:0 auto;?

Gracias.

+0

Puede intentar usar 'overflow-y: scroll' en su elemento' html' o 'body', pero no estoy seguro de si esto funcionará. Al mismo tiempo, debería poder hacer esto con 3 líneas de javascript/jquery y luego adjuntar esta función al evento 'onresize'. –

+0

Otra forma es simplemente forzar que la barra de desplazamiento siempre exista. Hay una opción CSS que hace esto pero no recuerdo qué es. –

+0

@ErickPetru No, eso no fue todo. –

Respuesta

7

Cuando el contenido de la página ya no se ajusta verticalmente, el navegador agrega una barra de desplazamiento en el lado derecho de la ventana. Esto cambia el ancho disponible en la ventana del navegador, por lo que cualquier contenido que esté centrado o posicionado en relación con el lado derecho de la ventana se moverá un poco hacia la izquierda. Esto es muy común

Existen varias formas de controlar esto, pero la más común es hacerlo para que siempre tenga una barra de desplazamiento o nunca tenga una barra de desplazamiento controlando la propiedad overflow-y en la ventana.

Configuración overflow-y: scroll obligará a las barras de desplazamiento a estar siempre allí.

La configuración overflow-y: hidden obligará a que nunca haya barras de desplazamiento.

+0

Ok, gracias @jacktheripper. –

1

NB: overflow-y: hidden impide al usuario desplazarse hacia abajo por cualquier medio, haciendo que el contenido debajo de la ventana inferior sea inaccesible.

Cuestiones relacionadas