Aquí está la solución que finalmente se me ocurrió al usar un div como contenedor para un fondo dinámico.
- Eliminar el
z-index
para usos que no sean de fondo.
- Eliminar
left
o right
para una columna de altura completa.
- Eliminar
top
o bottom
para una fila de ancho completo.
EDITAR 1: CSS a continuación se ha editado porque no se mostró correctamente en FF y Chrome. movido position:relative
para estar en el HTML y establecer el cuerpo en height:100%
lugar de min-height:100%
.
EDITAR 2: Se agregaron comentarios adicionales a CSS. Se agregaron algunas instrucciones más arriba.
El CSS:
html{
min-height:100%;/* make sure it is at least as tall as the viewport */
position:relative;
}
body{
height:100%; /* force the BODY element to match the height of the HTML element */
}
#cloud-container{
position:absolute;
top:0;
bottom:0;
left:0;
right:0;
overflow:hidden;
z-index:-1; /* Remove this line if it's not going to be a background! */
}
El html:
<!doctype html>
<html>
<body>
<div id="cloud-container"></div>
</body>
</html>
¿Por qué?
html{min-height:100%;position:relative;}
Sin esto, el DIV del contenedor en la nube se elimina del contexto de diseño del HTML. position: relative
asegura que el DIV permanezca dentro del cuadro HTML cuando se dibuja, de modo que se bottom:0
refiere a la parte inferior del cuadro HTML. También puede usar height:100%
en el contenedor de la nube, ya que ahora se refiere a la altura de la etiqueta HTML y no a la ventana gráfica.
html
embargo, noté que tienes que usar min-height (y no solo height) en el elemento. ¿Porqué es eso?height
es decir 'eres tan alto; Nada mas y nada menos.' Lo que significa que será la altura de la ventana gráfica. Queremos que sea al menos tan alto como la ventana gráfica o más alto.min-height
hace esto muy bien<html>
y el posicionamiento en la ventana gráfica eran dos cosas separadas. ¡Gracias!Con HTML5, la forma más fácil es simplemente hacer
height: 100vh
. Donde 'vh' representa la altura de la ventana de visualización de la ventana del navegador. Responde al cambio de tamaño del navegador y los dispositivos móviles.fuente
vw
.Tuve un problema similar y la solución fue hacer esto:
Quería un div centrado en la página con una altura del 100% de la altura de la página, por lo que mi solución total fue:
Es posible que deba hacer que un elemento padre (o simplemente 'cuerpo') tenga
position: relative;
fuente
cloud-container
?Puedes hacer trampa usando columnas falsas o puedes usar algunos trucos CSS
fuente
Es simple usar una tabla:
Cuando se introdujo el DIV, la gente tenía tanto miedo a las mesas que el pobre DIV se convirtió en el martillo metafórico.
fuente
Posición de uso absoluta. Tenga en cuenta que no es así como estamos acostumbrados a usar position absolute, lo que requiere un diseño manual o un diálogo flotante. Esto se estirará automáticamente cuando cambie el tamaño de la ventana o el contenido. Creo que esto requiere el modo estándar pero funcionará en IE6 y superior.
Simplemente reemplace el div con id 'thecontent' con su contenido (la altura especificada solo es para ilustración, no tiene que especificar una altura en el contenido real.
La forma en que esto funciona es que el div externo actúa como un punto de referencia para la barra de navegación. El div externo se estira por el contenido del div 'contenido'. La barra de navegación utiliza un posicionamiento absoluto para estirarse hasta la altura de su padre. Para la alineación horizontal, hacemos que el div de contenido se desplace por el mismo ancho de la barra de navegación.
Esto se hace mucho más fácil con el modelo de caja flexible CSS3, pero aún no está disponible en IE y tiene algunas de sus propias peculiaridades.
fuente
Me encontré con el mismo problema que tú. Quería hacer un
DIV
fondo, por qué, porque es fácil de manipular div a través de javascript. De todos modos, tres cosas que hice en el CSS para ese div.CSS:
fuente
Si está apuntando a navegadores más modernos, la vida puede ser muy simple. tratar:
si lo necesita al 50% de la página, reemplace 100 por 50.
fuente
Quiero cubrir toda la página web antes de que aparezca una ventana emergente modal. Probé muchos métodos usando CSS y Javascript, pero ninguno de ellos ayuda hasta que descubro la siguiente solución. Funciona para mí, espero que también te ayude.
Buena suerte ;-)
fuente
fuente
fuente
Simple, simplemente envuélvelo en una tabla div ...
El HTML:
El CSS:
fuente