Beide .containerund .container-fluidreagieren (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").
.containerGröß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 .containeres 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-fluidverfügt über die CSS-Eigenschaft width: 100%;, sodass die Granularität bei jeder Bildschirmbreite kontinuierlich angepasst wird.
.container-fluid {
width: 100%;
}
.containerhat 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 .containerElemente, da Medienabfragen genau so ausgeführt werden, wie .containersie durch Bootstrap im Hintergrund implementiert werden (Code finden Sie in der Antwort von JKillian).