Оба .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 для кода).