Mise en page CSS avec fixe en haut et en bas, hauteur variable moyen
+-------------------+
| Top (fixed) |
+-------------------+
| |
| |
| Middle (fill) |
| |
| |
+-------------------+
| Bottom (fixed) |
+-------------------+
La haut et bas sont fixes divs. Ils sont positionnés sur le haut et le bas de la fenêtre du navigateur. Je veux le milieu partie pour remplir le reste de la fenêtre entre le haut et le bas de la vrd.
Si son contenu est plus que sa hauteur alors je peux utiliser les barres de défilement. Mais sa taille ne doit pas dépasser de la fenêtre.
Mon CSS et HTML:
CSS:
html, body, #main
{
height: 100%;
}
#content
{
background: #F63;
width: 100%;
overflow: auto;
height: 100%;
margin-bottom: -100px;
}
#footer
{
position: fixed;
display: block;
height: 100px;
background: #abcdef;
width: 100%;
}
HTML:
<div id="main">
<div id="content">xyz</div>
<div id="footer">abc</div>
</div>
De cela, le Pied de page affiche dans le fond mais, le Contenu de la div remplit encore la totalité de la fenêtre qui doit avoir été [fenêtre-pied de page] hauteur.
- Avez-vous tout code que vous avez essayé jusqu'à présent?
- ok je l'ai mis à jour
- avoir la hauteur du contenu de
height:auto;
- Non cela ne fonctionne pas. Il définit la hauteur de la contenu selon le contenu en elle. J'ai besoin de la contenu pour remplir la fenêtre.
- lui donner une hauteur spécifiée et l'utilisation overflow:auto
- utilisation
min-height:
Vous devez vous connecter pour publier un commentaire.
Position au milieu de la div à l'aide de positionnement absolu, sans spécifier la hauteur. Il ne va pas beaucoup plus simple que cela:
CSS:
HTML:
Utiliser "Pleine page" option pour afficher l'extrait de code correctement.
position: fixed
n'est pas pris en charge sur un boiteux navigateurs. Il devrait fonctionner sur la version IE7 ou par la suite.position: fixed
soutien; voir si le moteur de rendu utilise une version moderne de webkit.html
css
JSFIDDLE Démo
Je pense que c'est ce que u veux...
JSBin: http://jsbin.com/ebilag/1/
CSS:
HTML:
overflow: auto;
Si vous connaissez la hauteur de l'en-tête et le pied de page...
ensuite, vous pouvez le faire facilement avec le
box-sizing
propriété.Comme suit:
FIDDLE1 FIDDLE2
Si vous ne connaissez pas l'en-tête ou le pied de page de tailles et vous pouvez utiliser CSS3 alors je suggère d'utiliser flexbox layouting.
Exemple ci-dessous (ou vérifier violon)
HTML:
CSS:
La solution avec
top and bottom padding
est ok, mais je vous propose une approche différente où le bâti est conçu commetable
. C'est plus souple et vous pouvez vous cacher la tête ou des pieds, sans changer le css.STYLET (CSS):
HTML:
HTML:
CSS:
DÉMO
overflow:scroll;max-height:400px;
ajouter ce contenu . voir est-ce ok jsfiddle.net/dc6uq/3overflow:auto;
sera bonÀ mon avis vous devriez utiliser js/jquery pour changer le #contenu de la hauteur pendant le chargement de la page.
Ce devrait être quelque chose comme ça (je ne l'ai pas testé le code ci-dessous, afin de le modifier comme vous le besoin):
Veuillez essayer ceci:
HTML
CSS
veuillez consulter le démo.