Обидва .container
і .container-fluid
чуйні (тобто змінюють макет залежно від ширини екрану), але різними способами (я знаю, іменування не робить це таким чином).
Коротка відповідь:
.container
є стрибковим / чіпким зміною розміру та
.container-fluid
безперервне / точне зміна розміру на ширині: 100%.
З точки зору функціональності:
.container-fluid
постійно змінює розмір, змінюючи ширину вікна / браузера на будь-яку кількість, не залишаючи зайвого порожнього місця з боків ніколи, на відміну від того, як .container
це робиться. (Звідси іменування: "флюїд" на відміну від "цифрового", "дискретного", "збитого" або "квантованого").
.container
змінює розміри в шматки на кілька певних ширин. Іншими словами, це будуть різні конкретні ака "фіксовані" ширини різних діапазонів ширини екрана.
Семантика: "фіксована ширина"
Ви можете бачити, як може виникнути плутанина в іменуванні. Технічно, ми можемо сказати, що .container
це "фіксована ширина", але вона фіксується лише в тому сенсі, що вона не змінює розмір на кожній зернистій ширині. Він насправді не "фіксований" в тому сенсі, що він завжди залишається на певній ширині пікселів, оскільки він насправді може змінювати розмір.
З фундаментальної точки зору:
.container-fluid
має властивість CSS width: 100%;
, тому він постійно налаштовується при кожній деталізації ширини екрана.
.container-fluid {
width: 100%;
}
.container
має щось на зразок "width = 800px" (або em, rem тощо), певне значення ширини пікселів при різних ширинах екрана. Це, звичайно, є причиною того, що ширина елемента різко підскакує на іншу ширину, коли ширина екрану переступає поріг ширини екрана. І цей поріг регулюється медіа-запитами CSS3, які дозволяють застосовувати різні стилі для різних умов, наприклад діапазони ширини екрана.
@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;
}
}
Поза
Ви можете зробити будь-який елемент з фіксованою шириною реагувати на запити медіа, а не лише на .container
елементи, оскільки медіа-запити саме так .container
реалізовані завантажувальним інструментом у фоновому режимі (див. Відповідь JKillian для коду).