Beide .container
und .container-fluid
reagieren (dh sie ändern das Layout basierend auf der Bildschirmbreite), aber auf unterschiedliche Weise (ich weiß, die Benennung lässt es nicht so klingen).
Kurze Antwort:
.container
ist nervös / abgehackt Größe ändern, und
.container-fluid
ist eine kontinuierliche / feine Größenänderung bei einer Breite von 100%.
Aus funktionaler Sicht:
.container-fluid
Ändern Sie die Größe kontinuierlich, wenn Sie die Breite Ihres Fensters / Browsers um einen beliebigen Betrag ändern, und lassen Sie im Gegensatz dazu keine zusätzlichen Leerstellen an den Seiten frei .container
. (Daher die Benennung: "flüssig" im Gegensatz zu "digital", "diskret", "zerlegt" oder "quantisiert").
.container
Größe in Stücken bei mehreren bestimmten Breiten ändern. Mit anderen Worten, es werden verschiedene spezifische, auch "feste" Breiten, verschiedene Bereiche von Bildschirmbreiten sein.
Semantik: "feste Breite"
Sie können sehen, wie Namensverwirrung entstehen kann. Technisch kann man sagen, dass .container
es sich um "feste Breite" handelt, aber es ist nur in dem Sinne fest, dass die Größe nicht bei jeder granularen Breite geändert wird. Es ist eigentlich nicht "fest" in dem Sinne, dass es immer bei einer bestimmten Pixelbreite bleibt, da es tatsächlich die Größe ändern kann.
Aus einer fundamentalen Perspektive:
.container-fluid
verfügt über die CSS-Eigenschaft width: 100%;
, sodass die Granularität bei jeder Bildschirmbreite kontinuierlich angepasst wird.
.container-fluid {
width: 100%;
}
.container
hat so etwas wie "width = 800px" (oder em, rem usw.), einen bestimmten Pixelbreitenwert bei verschiedenen Bildschirmbreiten. Dies führt natürlich dazu, dass die Elementbreite abrupt auf eine andere Breite springt, wenn die Bildschirmbreite einen Schwellenwert für die Bildschirmbreite überschreitet. Dieser Schwellenwert wird durch CSS3-Medienabfragen bestimmt, mit denen Sie verschiedene Stile für verschiedene Bedingungen anwenden können, z. B. Bildschirmbreitenbereiche.
@media screen and (max-width: 400px){
.container {
width: 123px;
}
}
@media screen and (min-width: 401px) and (max-width: 800px){
.container {
width: 456px;
}
}
@media screen and (min-width: 801px){
.container {
width: 789px;
}
}
Darüber hinaus
Sie können jedes Element mit fester Breite über Medienabfragen ansprechen lassen, nicht nur über .container
Elemente, da Medienabfragen genau so ausgeführt werden, wie .container
sie durch Bootstrap im Hintergrund implementiert werden (Code finden Sie in der Antwort von JKillian).