mise en page, en-tête et un pied fixé hauteur et fluide contenu mais le défilement de ligne 3
À en juger par les questions précédentes et leur manque de réponses, je ne suis pas sûr qu'il y aura une bonne réponse pour cela. Heureusement, nous avons besoin uniquement pour prendre en charge les navigateurs plus récents.
À la recherche d'une mise en page pour nous faire avoir un 3 lignes avec une taille fixe en-tête et pied de page, mais la ligne de centre est fluide avec la hauteur du navigateur mais défile également lorsque son contenu est trop grand.
Possible sans JavaScript ? Nous avons essayé (exemple simplifié) :
<html style="height: 100%">
<body style="height: 100%">
<section style="height: 100%; display: table;">
<header style="display: table-row; height: 200px;">
Header
</header>
<section style="display: table-row; height: 100%; overflow-y: auto;">
Content
</section>
<footer style="display: table-row; height: 200px;">
</footer>
</section>
</body>
</html>
Problème est que lorsque la section contenu contient suffisamment de contenu pour dépassement de la hauteur de celui-ci, au lieu de défilement du contenu étire à la place. J'avais espéré que flottant le contenu pourrait aider, mais pas bon il ya soit.
Toutes les idées ?
répondre #1
Même si vous avez uniquement pour prendre en charge les navigateurs plus récents, je pense qu'il ya une solution qui peut faire tous les navigateurs (ou du moins la plupart). L'aborder comme une solution de « pousser du pied de page ». Par exemple :
CSS :
* {
margin: 0;
}
html, body {
height: 100%;
}
.wrapper {
min-height: 100%;
height: auto !important;
height: 100%;
margin: 0 auto -4em;
}
.footer, .push {
height: 4em;
}
HTML :
<html>
<head>
<link rel="stylesheet" href="layout.css" ... />
</head>
<body>
<div class="wrapper">
<div class="header"></div>
<div class="article"></div>
<div class="push"></div>
</div>
<div class="footer">
<p>Copyright (c) 2008</p>
</div>
</body>
</html>
Alors, maintenant, l'en-tête et le pied sont une taille définie, au milieu (appelé l'article) remplira l'écran à moins qu'il n'y a plus de contenu, auquel cas il s'étire. Si vous modifiez, veillez à noter la position de la balise div wrapper, qui encapsule l'en-tête et le corps, mais pas le pied de page.
Tags lesen
über Fragen
- Problème de positionnement forme
- Générateur de formulaire en ligne ?
- Capturer la première image d'une vidéo intégrée
- D'essayer d'optimiser une lecture de pixel et la fonction afficher
- Changer dir stylesheet par défaut dans les rails
- Comment pour intergrate un document html dans le code
- Détection d'agents utilisateur dynamique CSS3 préfixe
- JavaScript/jQuery : Moniteur changer d'élément ?
- Dans les extensions safari, forme onsubmit doesn ' travail t !
- Peut ' t obtenir un bloc de balises div pour organiser eux-mêmes droit