twitter-bootstrap-3
Rastersystem
Suche…
Medien-Anfragen
Wir verwenden die folgenden Medienabfragen in unseren Less-Dateien, um die Schlüsselhaltepunkte in unserem Rastersystem zu erstellen.
/* Extra small devices (phones, less than 768px) */
/* No media query since this is the default in Bootstrap */
/* Small devices (tablets, 768px and up) */
@media (min-width: @screen-sm-min) { ... }
/* Medium devices (desktops, 992px and up) */
@media (min-width: @screen-md-min) { ... }
/* Large devices (large desktops, 1200px and up) */
@media (min-width: @screen-lg-min) { ... }
Gelegentlich erweitern wir diese Medienabfragen um eine maximale Breite, um CSS auf eine engere Anzahl von Geräten zu beschränken.
@media (max-width: @screen-xs-max) { ... }
@media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) { ... }
@media (min-width: @screen-md-min) and (max-width: @screen-md-max) { ... }
@media (min-width: @screen-lg-min) { ... }
Rasteroptionen
Was ist das Bootstrap Grid System?
Das Bootstrap-Grid-System bietet die schnelle und einfache Möglichkeit, responsive Website-Layouts zu erstellen.
Bootstrap 3 enthält vordefinierte Grid-Klassen zum schnellen Erstellen von Grid-Layouts für verschiedene Gerätetypen wie Mobiltelefone, Tablets, Laptops und Desktops usw.
Sie können beispielsweise die .col-xs- * -Klasse verwenden, um Rasterspalten für extra kleine Geräte wie Mobiltelefone zu erstellen, ähnlich der .col-sm- * -Klasse für kleine Bildschirmgeräte wie Tablets, die .col-md- * -Klasse für mittelgroße Geräte wie Desktops und .col-lg- * für große Desktop-Bildschirme.
In der folgenden Tabelle sind einige der wichtigsten Merkmale des neuen Netzes zusammengefasst
| Extra kleine GeräteTelefone (<768px) | Kleine Geräte Tablets (≥768px) | Mittlere Geräte Desktops (≥992px) | Große Geräte Desktops (≥1200px) | |
|---|---|---|---|---|
| Netzverhalten | Immer horizontal | |||
| Behälterbreite | Keine (automatisch) | 750px | 970px | 1170px |
| Klassenpräfix | .col-xs- | .col-sm- | .col-md- | .col-lg- |
| Anzahl der Spalten | 12 | 12 | 12 | 12 |
| Spaltenbreite | Auto | ~ 62px | ~ 81px | ~ 97px |
| Stegbreite | 30px (15px auf jeder Seite einer Säule) | |||
| Nestbar | Ja | |||
| Offsets | Ja | |||
| Spaltenreihenfolge | Ja |
Gestapelt zu horizontal
Mit einem einzigen Satz von .col-md-* können Sie ein grundlegendes Rastersystem erstellen, das auf mobilen Geräten und Tablet-Geräten (dem besonders kleinen bis kleinen Bereich) gestapelt wird, bevor es auf Desktop-Geräten (mittel) horizontal wird. Platzieren Sie .row in einer beliebigen .row .
<div class="row">
<div class="col-md-1">.col-md-1</div>
<div class="col-md-1">.col-md-1</div>
<div class="col-md-1">.col-md-1</div>
<div class="col-md-1">.col-md-1</div>
<div class="col-md-1">.col-md-1</div>
<div class="col-md-1">.col-md-1</div>
<div class="col-md-1">.col-md-1</div>
<div class="col-md-1">.col-md-1</div>
<div class="col-md-1">.col-md-1</div>
<div class="col-md-1">.col-md-1</div>
<div class="col-md-1">.col-md-1</div>
<div class="col-md-1">.col-md-1</div>
</div>
<div class="row">
<div class="col-md-8">.col-md-8</div>
<div class="col-md-4">.col-md-4</div>
</div>
<div class="row">
<div class="col-md-4">.col-md-4</div>
<div class="col-md-4">.col-md-4</div>
<div class="col-md-4">.col-md-4</div>
</div>
<div class="row">
<div class="col-md-6">.col-md-6</div>
<div class="col-md-6">.col-md-6</div>
</div>
Flüssigkeitsbehälter
Verwandeln Sie ein Raster mit fester Breite in ein Layout mit voller Breite, indem Sie Ihren äußersten .container in .container-fluid .
<div class="container-fluid">
<div class="row">
...
</div>
</div>
Mobile und Desktop
Sie möchten nicht, dass Ihre Säulen einfach in kleineren Geräten gestapelt werden? Verwenden Sie die extra kleinen und mittleren .col-xs-* indem .col-xs-* .col-md-* .col-xs-* .col-md-* . Im nachstehenden Beispiel finden Sie eine bessere Vorstellung davon, wie alles funktioniert.
<!-- Stack the columns on mobile by making one full-width and the other half-width -->
<div class="row">
<div class="col-xs-12 col-md-8">.col-xs-12 .col-md-8</div>
<div class="col-xs-6 col-md-4">.col-xs-6 .col-md-4</div>
</div>
<!-- Columns start at 50% wide on mobile and bump up to 33.3% wide on desktop -->
<div class="row">
<div class="col-xs-6 col-md-4">.col-xs-6 .col-md-4</div>
<div class="col-xs-6 col-md-4">.col-xs-6 .col-md-4</div>
<div class="col-xs-6 col-md-4">.col-xs-6 .col-md-4</div>
</div>
<!-- Columns are always 50% wide, on mobile and desktop -->
<div class="row">
<div class="col-xs-6">.col-xs-6</div>
<div class="col-xs-6">.col-xs-6</div>
</div>
Mobile, Tablet, Desktop
Bauen Sie auf dem vorherigen Beispiel auf, indem Sie mit den .col-sm-* Klassen von Tablet noch dynamischere und leistungsfähigere Layouts .col-sm-* .
<div class="row">
<div class="col-xs-12 col-sm-6 col-md-8">.col-xs-12 .col-sm-6 .col-md-8</div>
<div class="col-xs-6 col-md-4">.col-xs-6 .col-md-4</div>
</div>
<div class="row">
<div class="col-xs-6 col-sm-4">.col-xs-6 .col-sm-4</div>
<div class="col-xs-6 col-sm-4">.col-xs-6 .col-sm-4</div>
<!-- Optional: clear the XS cols if their content doesn't match in height -->
<div class="clearfix visible-xs-block"></div>
<div class="col-xs-6 col-sm-4">.col-xs-6 .col-sm-4</div>
</div>
Spaltenumbruch
Wenn sich mehr als 12 Spalten in einer einzelnen Zeile befinden, wird jede Gruppe zusätzlicher Spalten als eine Einheit in eine neue Zeile umgebrochen.
<div class="row">
<div class="col-xs-9">.col-xs-9</div>
<div class="col-xs-4">.col-xs-4<br>Since 9 + 4 = 13 > 12, this 4-column-wide div gets wrapped onto a new line as one contiguous unit.</div>
<div class="col-xs-6">.col-xs-6<br>Subsequent columns continue along the new line.</div>
</div>
Responsive Spalte wird zurückgesetzt
Mit den vier verfügbaren Rasterebenen stoßen Sie zwangsläufig auf Probleme, bei denen Ihre Spalten an bestimmten Haltepunkten nicht ganz richtig angezeigt werden, da eine Spalte größer ist als die andere. Um dies zu beheben, verwenden Sie eine Kombination aus einem .clearfix und unseren responsive Utility-Klassen.
<div class="row">
<div class="col-xs-6 col-sm-3">.col-xs-6 .col-sm-3</div>
<div class="col-xs-6 col-sm-3">.col-xs-6 .col-sm-3</div>
<!-- Add the extra clearfix for only the required viewport -->
<div class="clearfix visible-xs-block"></div>
<div class="col-xs-6 col-sm-3">.col-xs-6 .col-sm-3</div>
<div class="col-xs-6 col-sm-3">.col-xs-6 .col-sm-3</div>
</div>
Zusätzlich zum Löschen der Spalten an den entsprechenden Haltepunkten müssen Sie möglicherweise Offsets, Pushs oder Pulls zurücksetzen. Sehen Sie dies im Raster im Beispiel.
<div class="row">
<div class="col-sm-5 col-md-6">.col-sm-5 .col-md-6</div>
<div class="col-sm-5 col-sm-offset-2 col-md-6 col-md-offset-0">.col-sm-5 .col-sm-offset-2 .col-md-6 .col-md-offset-0</div>
</div>
<div class="row">
<div class="col-sm-6 col-md-5 col-lg-6">.col-sm-6 .col-md-5 .col-lg-6</div>
<div class="col-sm-6 col-md-5 col-md-offset-2 col-lg-6 col-lg-offset-0">.col-sm-6 .col-md-5 .col-md-offset-2 .col-lg-6 .col-lg-offset-0</div>
</div>
Versetzung von Spalten
Verschieben Sie die Spalten mit .col-md-offset-* -Klassen nach rechts. Diese Klassen vergrößern den linken Rand einer Spalte um * Spalten. Zum Beispiel bewegt .col-md-offset-4 .col-md-4 über vier Spalten.
<div class="row">
<div class="col-md-4">.col-md-4</div>
<div class="col-md-4 col-md-offset-4">.col-md-4 .col-md-offset-4</div>
</div>
<div class="row">
<div class="col-md-3 col-md-offset-3">.col-md-3 .col-md-offset-3</div>
<div class="col-md-3 col-md-offset-3">.col-md-3 .col-md-offset-3</div>
</div>
<div class="row">
<div class="col-md-6 col-md-offset-3">.col-md-6 .col-md-offset-3</div>
</div>
Sie können Offsets auch von niedrigeren Rasterstufen mit .col-*-offset-0 Klassen überschreiben.
<div class="row">
<div class="col-xs-6 col-sm-4">
</div>
<div class="col-xs-6 col-sm-4">
</div>
<div class="col-xs-6 col-xs-offset-3 col-sm-4 col-sm-offset-0">
</div>
</div>
Spalten verschachteln
Um Ihren Inhalt mit dem Standardraster zu verschachteln, fügen Sie eine neue .row und einen Satz von .col-sm-* -Spalten innerhalb einer vorhandenen .col-sm-* -Spalte hinzu. Verschachtelte Zeilen sollten einen Satz von Spalten enthalten, der maximal 12 ergibt (es ist nicht erforderlich, dass Sie alle 12 verfügbaren Spalten verwenden).
<div class="row">
<div class="col-sm-9">
Level 1: .col-sm-9
<div class="row">
<div class="col-xs-8 col-sm-6">
Level 2: .col-xs-8 .col-sm-6
</div>
<div class="col-xs-4 col-sm-6">
Level 2: .col-xs-4 .col-sm-6
</div>
</div>
</div>
</div>
Spaltenreihenfolge
Ändern Sie ganz einfach die Reihenfolge unserer integrierten .col-md-push-* mit den .col-md-push-* und .col-md-pull-* .
<div class="row">
<div class="col-md-9 col-md-push-3">.col-md-9 .col-md-push-3</div>
<div class="col-md-3 col-md-pull-9">.col-md-3 .col-md-pull-9</div>
</div>
Weniger Mixins und Variablen
Zusätzlich zu den vorgefertigten Gitterklassen für schnelle Layouts enthält Bootstrap weniger Variablen und Mixins, um schnell eigene, einfache semantische Layouts zu erstellen.
Variablen
Variablen bestimmen die Anzahl der Spalten, die Rinnenbreite und den Medienabfragepunkt, an dem die gleitenden Spalten beginnen sollen. Wir verwenden diese, um die oben dokumentierten vordefinierten Grid-Klassen sowie für die unten aufgeführten benutzerdefinierten Mixins zu generieren.
@grid-columns: 12;
@grid-gutter-width: 30px;
@grid-float-breakpoint: 768px;
Mixins
Mixins werden in Verbindung mit den Rastervariablen verwendet, um semantisches CSS für einzelne Rasterspalten zu generieren.
// Creates a wrapper for a series of columns
.make-row(@gutter: @grid-gutter-width) {
// Then clear the floated columns
.clearfix();
@media (min-width: @screen-sm-min) {
margin-left: (@gutter / -2);
margin-right: (@gutter / -2);
}
// Negative margin nested rows out to align the content of columns
.row {
margin-left: (@gutter / -2);
margin-right: (@gutter / -2);
}
}
// Generate the extra small columns
.make-xs-column(@columns; @gutter: @grid-gutter-width) {
position: relative;
// Prevent columns from collapsing when empty
min-height: 1px;
// Inner gutter via padding
padding-left: (@gutter / 2);
padding-right: (@gutter / 2);
// Calculate width based on number of columns available
@media (min-width: @grid-float-breakpoint) {
float: left;
width: percentage((@columns / @grid-columns));
}
}
// Generate the small columns
.make-sm-column(@columns; @gutter: @grid-gutter-width) {
position: relative;
// Prevent columns from collapsing when empty
min-height: 1px;
// Inner gutter via padding
padding-left: (@gutter / 2);
padding-right: (@gutter / 2);
// Calculate width based on number of columns available
@media (min-width: @screen-sm-min) {
float: left;
width: percentage((@columns / @grid-columns));
}
}
// Generate the small column offsets
.make-sm-column-offset(@columns) {
@media (min-width: @screen-sm-min) {
margin-left: percentage((@columns / @grid-columns));
}
}
.make-sm-column-push(@columns) {
@media (min-width: @screen-sm-min) {
left: percentage((@columns / @grid-columns));
}
}
.make-sm-column-pull(@columns) {
@media (min-width: @screen-sm-min) {
right: percentage((@columns / @grid-columns));
}
}
// Generate the medium columns
.make-md-column(@columns; @gutter: @grid-gutter-width) {
position: relative;
// Prevent columns from collapsing when empty
min-height: 1px;
// Inner gutter via padding
padding-left: (@gutter / 2);
padding-right: (@gutter / 2);
// Calculate width based on number of columns available
@media (min-width: @screen-md-min) {
float: left;
width: percentage((@columns / @grid-columns));
}
}
// Generate the medium column offsets
.make-md-column-offset(@columns) {
@media (min-width: @screen-md-min) {
margin-left: percentage((@columns / @grid-columns));
}
}
.make-md-column-push(@columns) {
@media (min-width: @screen-md-min) {
left: percentage((@columns / @grid-columns));
}
}
.make-md-column-pull(@columns) {
@media (min-width: @screen-md-min) {
right: percentage((@columns / @grid-columns));
}
}
// Generate the large columns
.make-lg-column(@columns; @gutter: @grid-gutter-width) {
position: relative;
// Prevent columns from collapsing when empty
min-height: 1px;
// Inner gutter via padding
padding-left: (@gutter / 2);
padding-right: (@gutter / 2);
// Calculate width based on number of columns available
@media (min-width: @screen-lg-min) {
float: left;
width: percentage((@columns / @grid-columns));
}
}
// Generate the large column offsets
.make-lg-column-offset(@columns) {
@media (min-width: @screen-lg-min) {
margin-left: percentage((@columns / @grid-columns));
}
}
.make-lg-column-push(@columns) {
@media (min-width: @screen-lg-min) {
left: percentage((@columns / @grid-columns));
}
}
.make-lg-column-pull(@columns) {
@media (min-width: @screen-lg-min) {
right: percentage((@columns / @grid-columns));
}
}