DIV avec 100% de la hauteur est trop grande, même sans contenu
Je suis en train de mettre en œuvre un collant pied de page qui fonctionne sauf que le principal emballage div à 100% de la hauteur est d'étendre trop haut (#body-wrap) et elle provoque un énorme fossé entre le contenu et le pied de page. Ainsi, au lieu de le pied de page assis au bas de l'écran comme il est censé le faire, je dois la faire défiler en bas de la page, passé le grand écart pour l'afficher.
J'ai quelque chose comme ce que mon code HTML:
<div id="body-wrap">
<div id="content">
[about 100px of content here]
</div><!-- end #content -->
<div class="push"></div>
</div><!-- end #body-wrap -->
<div id="footer-wrap">
<div id="footer-content">
[about 300px of content here]
</div> <!-- end #footer-content -->
</div> <!-- end #footer-wrap -->
Et mon CSS:
html, body {
height: 100%;
}
#body-wrap {
min-height: 100%;
height: auto !important;
height: 100%;
margin: 0 auto -300px; /* the bottom margin is the negative value of the footer's height */
}
.footer-main-wrap, .push {
height: 300px; /* .push must be the same height as .footer */
}
Quelqu'un a une idée pourquoi le 100% de la hauteur d'étendre plus loin que le contenu?
- Vous avez aussi oublier d'ajouter le guillemet,
"
dans votre source d'origine? Quand j'ai préparé ma réponse, l'absence de la survenance d'un guillemet fermant conduit à une autre lay-out (FF 3.6.22).
InformationsquelleAutor beowulf | 2011-09-17
Vous devez vous connecter pour publier un commentaire.
Lorsque vous spécifiez la hauteur d'un pourcentage (par exemple,
height: 100%
), c'est par rapport à la parent conteneur, pas la contenu de l'élément. Si vous n'avez pas besoin de support IE6, vous trouverez que c'est beaucoup plus facile à mettre en œuvre à l'aide deposition: fixed
pour le pied de page.Edit: je viens de remarquer une autre chose - dans votre balisage vous avez un élément avec l'ID
footer-wrap
, mais dans votre CSS, vous êtes à l'aide du sélecteur.footer-main-wrap
. Essayez de changer.footer-main-wrap
dans votre CSS pour#footer-wrap
.body { margin: 0; }
dans votre feuille de style.L'ajout d'
height 100%
dans votre code htmlet
height
auto
à votrebody
va la faire ajuster correctement lorsque la page n'est pas assez long