Mit Twitter Bootstrap (2) habe ich eine einfache Seite mit einer Navigationsleiste, und innerhalb der container
möchte ich ein Div mit 100% Höhe hinzufügen (am unteren Bildschirmrand). Mein CSS-Fu ist rostig und ich kann das nicht herausfinden.
Einfaches HTML:
<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>
Aktuelles CSS:
#map {
width: 100%;
height: 100%;
min-height: 100%;
}
html, body {
height: 100%;
}
.fill {
min-height: 100%;
}
- BEARBEITEN *
Ich habe der Füllklasse die Höhe hinzugefügt, wie unten vorgeschlagen. Das Problem ist jedoch, dass ich dem Körper ein Polsteroberteil hinzufüge, um die feste Navigationsleiste oben zu berücksichtigen. Dies wirkt sich auf die 100% -Höhe des "Map" -Divs aus und bedeutet, dass eine Bildlaufleiste hinzugefügt wird - wie hier zu sehen: http://jsfiddle.net/S3Gvf/2/ Kann mir jemand sagen, wie ich das beheben soll?
css
twitter-bootstrap
height
Matt Roberts
quelle
quelle
Antworten:
Setzen Sie die Klasse
.fill
aufheight: 100%
JSFiddle
(Ich habe einen roten Hintergrund eingefügt,
#map
damit Sie sehen können, dass er 100% der Höhe einnimmt.)quelle
box-sizing:border-box;
auf dem Element mit der Polsterung (Body-Tag) für eine einfache ProblemumgehungUpdate 2019
In Bootstrap 4 kann Flexbox verwendet werden, um ein Layout mit voller Höhe zu erhalten, das den verbleibenden Platz ausfüllt.
Zunächst muss der Container (übergeordnetes Element) die volle Höhe haben:
Option 1_ Fügen Sie eine Klasse für hinzu
min-height: 100%;
. Denken Sie daran, dass die Mindesthöhe nur funktioniert, wenn der Elternteil eine definierte Höhe hat:https://www.codeply.com/go/dTaVyMah1U
Option 2_
vh
Einheiten verwenden:https://www.codeply.com/go/kMahVdZyGj
Dann Verwendung Flexbox Richtung Säule
d-flex flex-column
auf den Behälter undflex-grow-1
auf jedem Kind divs (dhrow
) , dass Sie die verbleibende Höhe füllen wollen.Siehe auch:
Bootstrap 4 Navbar und Inhalt Füllhöhe Flexbox
Bootstrap - Fill Flüssigkeitsbehälter zwischen Kopf- und Fußzeile
Wie die Zeile Strecke Resthöhe machen
quelle
height:100%
dass nicht nur der Rest der unteren Höhe verbraucht wird, sondern 100% der Höhe des Ansichtsfensters, wodurch eine vertikale Bildlaufleiste erstellt wird. Aus diesem Grund muss die Karte in der akzeptierten Antwort nach unten gescrollt werden.Es ist sehr einfach. Sie können verwenden
Sie können die Höhe entsprechend Ihren Anforderungen ändern.
quelle
Sie müssen Padding-Top hinzufügen, um das Element zu füllen, und Box-Sizing hinzufügen: Border-Box - Beispiel hier bootply
quelle