Tome este ejemplo trivial y abrirlo:HTML/CSS: ¿Por qué el cuerpo no se extiende a su contenido?
<html>
<body style="background-image:url(http://upload.wikimedia.org/wikipedia/commons/2/21/Mandel_zoom_00_mandelbrot_set.jpg);background-repeat: no-repeat; background-position: top center;">
<div style="width: 8000px; border: 3px solid red;">Demo</div>
</body>
</html>
se hace la página para que el cuerpo tiene una imagen en la parte superior centrada fondo y un elemento contenedor que se desborda límites de la ventana por lo que no es el desplazamiento horizontal (si tiene una monitor más ancho que 8000px, entonces eres realmente genial, por favor haz la ventana más pequeña y actualiza).
El problema es que por alguna razón el <body>
no se estira para contener el <div>
. Solo se mantiene el mismo ancho que la ventana gráfica y el <div>
lo desborda. Esto a su vez hace que el fondo se centre en el lugar equivocado y lo recorta al tamaño de la ventana gráfica. Muy feo cuando te desplazas hacia la derecha.
Ya he encontrado una solución a este problema, pero me pregunto ¿POR QUÉ esto es así? Parece ser constante en todos los navegadores. Pero en mi opinión esto es bastante contra-intuitivo y básicamente simple mal. El elemento del contenedor debe ser lo suficientemente grande como para contener a sus hijos, a menos que estén absolutamente posicionados, por supuesto, en cuyo caso no participan en los cálculos del diseño.
Hey. Volvamos a esto dos años después, y estoy buscando la misma solución que dices que has encontrado. La respuesta de Bobince no ayuda, mucho ... (¿Flotar es la única opción?) – SoreThumb
Todavía estoy usando flotador. Compruébelo aquí: http://www.drowtales.com –