Обзор
Компоненты и опции для создания вашего проекта Bootstrap, включая контейнеры для упаковки, мощную сетчатую систему, гибкий медиа-объект и отзывчивые служебные классы.
Контейнеры
Это базовый элемент в Bootstrap и они необходимы при использовании нашей стандартной сеточной системы. Контейнеры используются для размещения в них содержимого, дополнений и (иногда) центрирования содержимого внутри них. Хотя контейнеры могут быть вложенными, большинство макетов не требуют вложенного контейнера.
В Bootstrap используется три разных типа контейнеров:
.container, который устанавливает максимальную ширинуmax-widthв каждой отзывчивой точке останова;.container-fluid, ширина которогоwidth: 100%на всех точках останова;.container-{breakpoint}, то есть ширинаwidth: 100%до указанной точки останова.
В приведенной ниже таблице показано, как максимальная ширина max-width каждого контейнера .container и .container-fluid сравнивается с исходными в каждой точке останова.
Посмотрите их в действии и сравните их в нашем примере Сеток.
![]() Extra small <576px | ![]() Small ≥576px | ![]() Medium ≥768px | ![]() Large ≥992px | ![]() Extra large ≥1200px | |
|---|---|---|---|---|---|
.container | 100% | 540px | 720px | 960px | 1140px |
.container-sm | 100% | 540px | 720px | 960px | 1140px |
.container-md | 100% | 100% | 720px | 960px | 1140px |
.container-lg | 100% | 100% | 100% | 960px | 1140px |
.container-xl | 100% | 100% | 100% | 100% | 1140px |
.container-fluid | 100% | 100% | 100% | 100% | 100% |
Все в одном
По умолчанию класс .container является отзывчивым контейнером фиксированной ширины, что означает, что его максимальная ширина max-width изменяется в каждой точке останова.
<divclass="container"><!-- Content here --></div>Изменчивый
Используйте .container-fluid для создания контейнера полной ширины, охватывающего всю ширину области просмотра.
<divclass="container-fluid"> ...
</div>Отзывчивый
Отзывчивые контейнеры появились в Bootstrap версии 4.4. Они позволяют указывать класс шириной 100%, пока не будет достигнута указанная точка останова, после чего мы применяем max-width для каждой из более высоких точек останова. Например, .container-sm имеет иметь ширину в 100% до тех пор, пока не будет достигнута точка останова sm, где он будет масштабироваться уже с помощью md, lg и xl.
<divclass="container-sm">ширина 100% до маленькой (small) точки останова</div><divclass="container-md">ширина 100% до средней (medium) точки останова</div><divclass="container-lg">ширина 100% до большой (large) точки останова</div><divclass="container-xl">ширина 100% до экстра большой (Extra large) точки останова</div>Отзывчивые брейкпойнты
Поскольку Bootstrap разработан как mobile-first, тут используются медиа-запросы @media для создания брейкпойнтов контента и интерфейсов. Эти брейкпойнты в основном сделаны на минимальных широтах зоны просмотра и позволяют масштабировать элементы по мере изменения размера зоны просмотра.
В исходниках Sass Bootstrap главным образом записаны следующие ранги @media (брейкпойнты) для разметки, сеточной системы и компонентов.
// Экстрамалые девайсы («телефоны», < 576px)
// Нет @media, т.к. это по умолчанию в Bootstrap
// Малые девайсы («ландшафтные телефоны», >= 576px)
@media(min-width:576px){...}// Средние девайсы («таблетки», >= 768px)
@media(min-width:768px){...}// Большие девайсы (десктопы, >= 992px)
@media(min-width:992px){...}// Экстрабольшие девайсы (большие десктопы, >= 1200px)
@media(min-width:1200px){...}Так как все эти параметры записаны в исходниках как Sass, все @media доступны через миксины:
// Не существует медиа-запрос для брекпоинта xs, поскольку это фактически `@media (min-width: 0) { ... }`@includemedia-breakpoint-up(sm){...}@includemedia-breakpoint-up(md){...}@includemedia-breakpoint-up(lg){...}@includemedia-breakpoint-up(xl){...}// Пример: Скрыто начало с `min-width: 0`, а затем отображается на брекпоинте `sm`.custom-class{display:none;}@includemedia-breakpoint-up(sm){.custom-class{display:block;}}Можно использовать и другие размеры (с заданным размером экрана или меньше»):
// Экстрамалые девайсы («телефоны», < 576px)
@media(max-width:575.98px){...}// Малые девайсы («ландшафтные», < 768px)
@media(max-width:767.98px){...}// Средние девайсы («таблетки», < 992px) @media(max-width:991.98px){...}// Большие девайсы (большие десктопы, < 1200px)
@media(max-width:1199.98px){...}// Экстрабольшие девайсы (большие десктопы)// Тут нет @media, т.к. такие брейпкойнты не имеют верхней границы по ширине Обратите внимание, что поскольку браузеры в настоящее время не поддерживают запросы диапазона, мы используем ограничения min- и max- prefixes префиксов и видовых экранов с дробной шириной (что может произойти при определенных условиях на устройствах с высоким разрешением на дюйм, например), используя значения с более высоким точность для этих сравнений.
Опять же, эти @media доступны через Sass миксины:
@includemedia-breakpoint-down(xs){...}@includemedia-breakpoint-down(sm){...}@includemedia-breakpoint-down(md){...}@includemedia-breakpoint-down(lg){...}// Нет медиа-запроса, необходимого для брекпоинта xl, поскольку он не имеет верхней границы по ширине// Пример: стиль из среднего брекпоинта и вниз@includemedia-breakpoint-down(md){.custom-class{display:block;}}Также в наличии @media и миксины размеров экрана, использующие минимальные и максимальные ширины брейкпойнтов.
// Экстрамалые девайсы («портретные телефоны», < 576px)
@media(max-width:575.98px){...}// Малые девайсы («ландшафтные», >= 575px)
@media(min-width:576px)and(max-width:767.98px){...}// Средние девайсы («таблетки», >= 768px) @media(min-width:768px)and(max-width:991.98px){...}// Большие девайсы (большие десктопы, >= 992px)
@media(min-width:992px)and(max-width:1199.98px){...}// Большие девайсы (большие десктопы, >= 1200px)
@media(min-width:1200px){...}Эти @media также доступны из миксинов Sass:
@includemedia-breakpoint-only(xs){...}@includemedia-breakpoint-only(sm){...}@includemedia-breakpoint-only(md){...}@includemedia-breakpoint-only(lg){...}@includemedia-breakpoint-only(xl){...}Также, @media могут занимать несколько значений ширин брейкпойнта:
// Пример
// Здесь стили применятся от средних девайсов до XL-девайсов
@media(min-width:768px)and(max-width:1199.98px){...}Миксины Sass для захвата таких же параметров (выше) выглядели бы так:
@includemedia-breakpoint-between(md,xl){...}Z-индекс
Несколько компонентов Bootstrap используют данный индекс z-index, т.е. свойство CSS, которое помогает контролировать расположение контента с помощью третьей оси. В Bootstrap используется «стандартный» Z-индекс, спроектированный для правильного расположения навигации, всплывающих подсказок, всплывающих окон и т.н. “modals” (pop-up окно наверху страницы).
Эти высшие значения могут начинаться с любого числа, в идеале достаточно большого и специфичного, чтобы избежать конфликтов. Нам нужен стандартный набор этих чисел для использования с нашими компонентами: всплывающими подсказками, окнами, навбарами, выпадающими элементами, модальными элементами - так, чтобы мы могли бы разумно стандартизировать их поведение. Не существует ограничений - используйте хоть 100, хоть 500 и более.
Мы не советуем настраивать эти значения самому, т.к. если потребуется изменить одно, придется менять все.
$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;Для того, чтобы эффективно обращаться с перекрывающимися границами внутри компонентов (например, кнопки и формы ввода в группах форм ввода), мы используем по умолчанию значения z-index 1,2,3, а также hover и "активные состояния". В hover/focus/active мы подводим частный элемент к "переднему краю" использованием более высокого z-индекса, для показа его границы над вложенными элементами.




