Tengo un envoltorio div que contiene 2 divs uno al lado del otro. Sobre este contenedor tengo un div que contiene mi encabezado. La envoltura div debe ser 100% menos la altura del encabezado. El encabezado es de unos 60 px. Esto está arreglado. Entonces mi pregunta es: ¿cómo configuro la altura de mi div de envoltura para que sea 100% menos los 60 px?
<div id="header"></div>
<div id="wrapper">
<div id="left"></div>
<div id="right"></div>
</div>
Respuestas:
Aquí hay un CSS en funcionamiento, probado en Firefox / IE7 / Safari / Chrome / Opera.
"overflow-y" no está aprobado por w3c, pero todos los principales navegadores lo admiten. Sus dos divs #left y #right mostrarán una barra de desplazamiento vertical si su contenido es demasiado alto.
Para que esto funcione bajo IE7, debe activar el modo compatible con los estándares agregando un DOCTYPE:
fuente
position: relative
en el contenedor. Luego, coloque el contenedor donde desee en la página.En CSS3 podrías usar
fuente
Si necesita admitir IE6, use JavaScript, así que administre el tamaño del contenedor div (configure la posición del elemento en píxeles después de leer el tamaño de la ventana). Si no desea usar JavaScript, entonces esto no se puede hacer. Hay soluciones, pero espere una o dos semanas para que funcione en todos los casos y en todos los navegadores.
Para otros navegadores modernos, use este CSS:
fuente
genial ... ahora he dejado de usar% he he he ... a excepción del contenedor principal como se muestra a continuación:
y aquí está el css:
Probé esto en todos los navegadores conocidos y funciona bien. ¿Hay algún inconveniente de esta manera?
fuente
Puede hacer algo como altura: calc (100% - nPx); por ejemplo altura: calc (100% - 70px);
fuente
Asegúrese de usar menos
De lo contrario, menos no va a compilarlo correctamente
fuente
Esto no responde exactamente la pregunta planteada, pero crea el mismo efecto visual que está tratando de lograr.
fuente
En este ejemplo, puede identificar diferentes áreas:
fuente
Todavía no he visto nada como esto publicado, pero pensé que lo publicaría.
Entonces CSS:
Aquí hay un jsfiddle que funciona
Nota: No tengo idea de cuál es la compatibilidad del navegador para esto. Solo estaba jugando con soluciones alternativas y esto parecía funcionar bien.
fuente
Utilice un div de envoltura externa establecido en 100% y luego su div de envoltura interna 100% debería ser relativa a eso.
Pensé con seguridad que esto solía funcionar para mí, pero aparentemente no:
fuente
Si no quieres usar el posicionamiento absoluto y todo ese jazz, aquí hay una solución que me gusta usar:
tu html:
tu css:
fuente
#header
debe sermargin-top:-60px;
. Segundo,height:100%
significa que la altura será el 100% de la altura de los elementos principales, sin incluir márgenes, relleno y bordes. Dependiendo de su configuración de desplazamiento, esto hará que aparezcan barras de desplazamiento o que su contenido se recorte.