En utilisant Twitter bootstrap (2), j'ai une page simple avec une barre de navigation, et à l'intérieur de container
je veux ajouter un div avec une hauteur de 100% (en bas de l'écran). Mon css-fu est rouillé et je ne peux pas résoudre ce problème.
HTML simple:
<body>
<div class="navbar navbar-fixed-top">
<!-- Rest of nav bar chopped from here -->
</div>
<div class="container fill">
<div id="map"></div> <!-- This one wants to be 100% height -->
</div>
</body>
CSS actuel:
#map {
width: 100%;
height: 100%;
min-height: 100%;
}
html, body {
height: 100%;
}
.fill {
min-height: 100%;
}
- ÉDITER *
J'ai ajouté de la hauteur à la classe de remplissage comme suggéré ci-dessous. Mais le problème est que j'ajoute un padding-top au corps pour tenir compte de la barre de navigation fixe en haut. Cela affecte la hauteur de 100% du div "map" et signifie qu'une barre de défilement est ajoutée - comme on le voit ici: http://jsfiddle.net/S3Gvf/2/ Quelqu'un peut-il me dire comment corriger?
css
twitter-bootstrap
height
Matt Roberts
la source
la source
Réponses:
Réglez la classe
.fill
surheight: 100%
JSFiddle
(J'ai mis un fond rouge pour
#map
que vous puissiez voir qu'il prend 100% de hauteur)la source
box-sizing:border-box;
sur l'élément avec le rembourrage (balise body) pour une solution de contournement facileMise à jour 2019
Dans Bootstrap 4 , flexbox peut être utilisé pour obtenir une mise en page pleine hauteur qui remplit l'espace restant.
Tout d'abord, le conteneur (parent) doit être de pleine hauteur:
Option 1_ Ajouter une classe pour
min-height: 100%;
. N'oubliez pas que min-height ne fonctionnera que si le parent a une hauteur définie:https://www.codeply.com/go/dTaVyMah1U
Option 2_ Utiliser les
vh
unités:https://www.codeply.com/go/kMahVdZyGj
Ensuite, utilisez la colonne de direction flexbox
d-flex flex-column
sur le conteneur, etflex-grow-1
sur tous les div enfants (c'est-à-dire :)row
que vous voulez remplir la hauteur restante.Voir aussi:
Bootstrap 4 Navbar et hauteur de remplissage du contenu flexbox
Bootstrap - Remplir le conteneur de fluide entre l'en-tête et le pied de page
Comment étirer la ligne de hauteur restante
la source
height:100%
cela ne consomme pas simplement le reste de la hauteur inférieure, mais consomme à la place 100% de la hauteur de la fenêtre créant une barre de défilement verticale. C'est pourquoi la carte nécessite un balayage vers le bas dans la réponse acceptée.C'est très simple. Vous pouvez utiliser
Vous pouvez changer la hauteur selon vos besoins.
la source
vous devez ajouter padding-top à l'élément "fill", plus ajouter box-sizing: border-box - exemple ici bootply
la source