Source

Überblick

Komponenten und Optionen für das Layout Ihres Bootstrap-Projekts, einschließlich Wrapping-Containern, einem leistungsstarken Grid-System, einem flexiblen Medienobjekt und responsiven Hilfsklassen.

Behälter

Container sind das grundlegendste Layoutelement in Bootstrap und werden benötigt, wenn Sie unser Standardrastersystem verwenden . Wählen Sie aus einem reaktionsschnellen Container mit fester Breite (d. h. max-widthÄnderungen an jedem Haltepunkt) oder flüssiger Breite (d. h. er ist die 100%ganze Zeit breit).

Während Container verschachtelt werden können , erfordern die meisten Layouts keinen verschachtelten Container.

<div class="container">
  <!-- Content here -->
</div>

Verwenden Sie dies .container-fluidfür einen Container in voller Breite, der sich über die gesamte Breite des Ansichtsfensters erstreckt.

<div class="container-fluid">
  ...
</div>

Responsive Breakpoints

Da Bootstrap entwickelt wurde, um zuerst mobil zu sein, verwenden wir eine Handvoll Medienabfragen , um sinnvolle Haltepunkte für unsere Layouts und Schnittstellen zu erstellen. Diese Haltepunkte basieren hauptsächlich auf minimalen Ansichtsfensterbreiten und ermöglichen es uns, Elemente zu vergrößern, wenn sich das Ansichtsfenster ändert.

Bootstrap verwendet hauptsächlich die folgenden Medienabfragebereiche – oder Haltepunkte – in unseren Sass-Quelldateien für unser Layout, unser Rastersystem und unsere Komponenten.

// Extra small devices (portrait phones, less than 576px)
// No media query for `xs` since this is the default in Bootstrap

// Small devices (landscape phones, 576px and up)
@media (min-width: 576px) { ... }

// Medium devices (tablets, 768px and up)
@media (min-width: 768px) { ... }

// Large devices (desktops, 992px and up)
@media (min-width: 992px) { ... }

// Extra large devices (large desktops, 1200px and up)
@media (min-width: 1200px) { ... }

Da wir unser Quell-CSS in Sass schreiben, sind alle unsere Medienabfragen über Sass-Mixins verfügbar:

// No media query necessary for xs breakpoint as it's effectively `@media (min-width: 0) { ... }`
@include media-breakpoint-up(sm) { ... }
@include media-breakpoint-up(md) { ... }
@include media-breakpoint-up(lg) { ... }
@include media-breakpoint-up(xl) { ... }

// Example: Hide starting at `min-width: 0`, and then show at the `sm` breakpoint
.custom-class {
  display: none;
}
@include media-breakpoint-up(sm) {
  .custom-class {
    display: block;
  }
}

Wir verwenden gelegentlich Medienabfragen, die in die andere Richtung gehen (die angegebene Bildschirmgröße oder kleiner ):

// Extra small devices (portrait phones, less than 576px)
@media (max-width: 575.98px) { ... }

// Small devices (landscape phones, less than 768px)
@media (max-width: 767.98px) { ... }

// Medium devices (tablets, less than 992px)
@media (max-width: 991.98px) { ... }

// Large devices (desktops, less than 1200px)
@media (max-width: 1199.98px) { ... }

// Extra large devices (large desktops)
// No media query since the extra-large breakpoint has no upper bound on its width

Da Browser derzeit keine Bereichskontextabfragen unterstützen, umgehen wir die Einschränkungen von min-und max-Präfixen und Darstellungsfenstern mit gebrochenen Breiten (die beispielsweise unter bestimmten Bedingungen auf Geräten mit hoher Auflösung auftreten können), indem wir Werte mit höherer Genauigkeit für diese Vergleiche verwenden .

Auch diese Medienabfragen sind wieder über Sass-Mixins verfügbar:

@include media-breakpoint-down(xs) { ... }
@include media-breakpoint-down(sm) { ... }
@include media-breakpoint-down(md) { ... }
@include media-breakpoint-down(lg) { ... }
// No media query necessary for xl breakpoint as it has no upper bound on its width

// Example: Style from medium breakpoint and down
@include media-breakpoint-down(md) {
  .custom-class {
    display: block;
  }
}

Es gibt auch Medienabfragen und Mixins zum Targeting eines einzelnen Segments von Bildschirmgrößen unter Verwendung der minimalen und maximalen Haltepunktbreite.

// Extra small devices (portrait phones, less than 576px)
@media (max-width: 575.98px) { ... }

// Small devices (landscape phones, 576px and up)
@media (min-width: 576px) and (max-width: 767.98px) { ... }

// Medium devices (tablets, 768px and up)
@media (min-width: 768px) and (max-width: 991.98px) { ... }

// Large devices (desktops, 992px and up)
@media (min-width: 992px) and (max-width: 1199.98px) { ... }

// Extra large devices (large desktops, 1200px and up)
@media (min-width: 1200px) { ... }

Diese Medienabfragen sind auch über Sass-Mixins verfügbar:

@include media-breakpoint-only(xs) { ... }
@include media-breakpoint-only(sm) { ... }
@include media-breakpoint-only(md) { ... }
@include media-breakpoint-only(lg) { ... }
@include media-breakpoint-only(xl) { ... }

Ebenso können Medienabfragen mehrere Haltepunktbreiten umfassen:

// Example
// Apply styles starting from medium devices and up to extra large devices
@media (min-width: 768px) and (max-width: 1199.98px) { ... }

Das Sass-Mixin für die Ausrichtung auf denselben Bildschirmgrößenbereich wäre:

@include media-breakpoint-between(md, xl) { ... }

Z-Index

Mehrere Bootstrap-Komponenten verwenden z-index, die CSS-Eigenschaft, die bei der Steuerung des Layouts hilft, indem sie eine dritte Achse zum Anordnen von Inhalten bereitstellt. Wir verwenden eine Standard-Z-Index-Skala in Bootstrap, die entwickelt wurde, um Navigation, Tooltips und Popovers, Modals und mehr richtig zu schichten.

Diese höheren Werte beginnen bei einer beliebigen Zahl, die hoch und spezifisch genug ist, um Konflikte idealerweise zu vermeiden. Wir brauchen einen Standardsatz davon für unsere mehrschichtigen Komponenten – Tooltips, Popovers, Navigationsleisten, Dropdowns, Modals – damit wir in den Verhaltensweisen einigermaßen konsistent sein können. 100Es gibt keinen Grund, warum wir + oder + nicht hätten verwenden können 500.

Wir ermutigen nicht zur Anpassung dieser individuellen Werte; Sollten Sie einen ändern, müssen Sie wahrscheinlich alle ändern.

$zindex-dropdown:          1000 !default;
$zindex-sticky:            1020 !default;
$zindex-fixed:             1030 !default;
$zindex-modal-backdrop:    1040 !default;
$zindex-modal:             1050 !default;
$zindex-popover:           1060 !default;
$zindex-tooltip:           1070 !default;

Um überlappende Grenzen innerhalb von Komponenten (z. B. Schaltflächen und Eingaben in Eingabegruppen) zu handhaben, verwenden wir niedrige einstellige z-indexWerte von 1, 2und 3für Standard-, Hover- und aktive Zustände. Bei Hover/Focus/Active bringen wir ein bestimmtes Element mit einem höheren z-indexWert in den Vordergrund, um seine Grenze zu den Geschwisterelementen anzuzeigen.