Estoy trabajando en pasar de usar tablas para propósitos de diseño a usar divs (sí, sí, el gran debate). Tengo 3 divs, un encabezado, contenido y pie de página. El encabezado y el pie de página son 50px cada uno. ¿Cómo consigo que el pie de página div permanezca en la parte inferior de la página y el contenido div para llenar el espacio intermedio? No quiero codificar el contenido de la altura de los divs porque la resolución de la pantalla puede cambiar.Cómo crear div para llenar todo el espacio entre div de encabezado y pie de página
Respuesta
En resumen (y esto se produjo desde el enlace CSS Sticky Footer proporcionada por Traingamer), esto es lo que he utilizado: solución
html, body
{
height: 100%;
}
#divHeader
{
height: 100px;
}
#divContent
{
min-height: 100%;
height: auto !important; /*Cause footer to stick to bottom in IE 6*/
height: 100%;
margin: 0 auto -100px; /*Allow for footer height*/
vertical-align:bottom;
}
#divFooter, #divPush
{
height: 100px; /*Push must be same height as Footer */
}
<div id="divContent">
<div id="divHeader">
Header
</div>
Content Text
<div id="divPush"></div>
</div>
<div id="divFooter">
Footer
</div>
si usted está tratando de maximizar la altura de la div de contenido, en el CSS añadir
altura: 100%;
He descubierto que si usted tiene 3 divs, por ejemplo:
Para ampliar la respuesta de Mitchel Sellers, proporcione su altura de div de contenido: 100% y asígnele un margen automático.
Para una explicación completa y un ejemplo, vea el CSS Sticky Footer de Ryan Fait.
Dado que conoce el tamaño (alto) de su encabezado, colóquelo dentro del div de contenido (o use márgenes).
La posición absoluta le dará problemas si su contenido es más grande (más alto) que la ventana.
#footer {
clear: both;
}
Esto ni siquiera comienza para responder la pregunta. El pie de página no necesita flotar de todos modos. –
Flexbox
Usar diseño flex podemos lograr esto al tiempo que permite para encabezado y pie de página de altura natural. Tanto el encabezado como el pie de página se pegarán a la parte superior e inferior de la ventana gráfica respectivamente (al igual que una aplicación móvil nativa) y el área de contenido principal rellenará el espacio restante, mientras que cualquier desbordamiento vertical se desplazará dentro de esa área.
HTML
<body>
<header>
...
</header>
<main>
...
</main>
<footer>
...
</footer>
</body>
CSS
html, body {
margin: 0;
height: 100%;
min-height: 100%;
}
body {
display: flex;
flex-direction: column;
}
header,
footer {
flex: none;
}
main {
overflow-y: scroll;
-webkit-overflow-scrolling: touch;
flex: auto;
}
Parece que esta debería ser la respuesta correcta, creo que la respuesta aceptada está desactualizada. – user3071643
- 1. cómo hacer DIV alto 100% entre encabezado y pie de página
- 2. cómo estirar div altura para llenar div padre - CSS
- 3. Contenido con 100% entre encabezado y pie de página
- 4. UICollectionView: cómo agregar espacio entre el pie de página y el encabezado?
- 5. Crear un encabezado/pie de página PHP
- 6. div lado con posición absoluta y pie de página pegajoso
- 7. encabezado y pie de página y freemarker
- 8. CSS - Hacer que un div consuma todo el espacio disponible
- 9. Crear div con encabezado de título
- 10. Encabezado y pie de página XSL FO
- 11. listview con encabezado y pie de página
- 12. Redimensionar texto dinámicamente para llenar div
- 13. ¿Cómo eliminar el espacio del encabezado y el pie de página desde un UITableView?
- 14. Haz que una div ocupe todo el espacio vertical disponible?
- 15. posición: absolute, div under div
- 16. Pie de página adhesivo, o más bien: el contenido no se extiende al pie de página
- 17. Estirar columnas para llenar todo el espacio disponible de DataGrid
- 18. Encabezado y pie de página personalizados en la página html
- 19. cómo tener un control de llenar todo el espacio disponible
- 20. Antecedentes: cómo llenar div todo si la imagen es pequeño y viceversa
- 21. ¿Cómo se puede hacer clic en el área de un div? No todo el div!
- 22. Contenido usando todo el espacio disponible con jQuery Mobile
- 23. ¿Cómo hacer que un div se expanda para adaptarse al espacio vertical disponible?
- 24. Estirar imagen para llenar div, pero no sesgar
- 25. Animar un encabezado y pie de página de UITableView
- 26. UITableView encabezado/pie de página color
- 27. ¿Cómo crear un DIV con contenido desplazable verticalmente y pie de página fijo que siempre está visible?
- 28. Cómo configurar el encabezado y el pie de página para el diseño lineal en Android
- 29. Capacidades de impresión de encabezado HTML y pie de página
- 30. Cómo crear varias columnas en un div
Aquí está el violín http://jsfiddle.net/KFur6/1/ –
Esto es mejor que el famoso http://matthewjamestaylor.com/blog/perfect-3-column.htm porque el color '
' no se muestra mediante. –gran respuesta. por favor explique por qué usó "vertical-align: bottom"; en divContent? es requerido? – RezaSh