Spec-Zone.ru › Bootstrap 4
Просмотр на GitHub

Обзор

Компоненты и параметры для макетирования вашего проекта Bootstrap, включая контейнеры обёртки, мощную систему сетки, гибкий объект медиа и адаптивные служебные классы.

Контейнеры

Контейнеры — это самый базовый элемент макета в Bootstrap и требуются при использовании нашей стандартной системы сетки. Контейнеры используются для размещения, добавления отступов и (иногда) центрирования содержимого внутри них. Хотя контейнеры могут быть вложенными, в большинстве макетов вложенные контейнеры не требуются.

Bootstrap поставляется с тремя разными контейнерами:

  • .container, который устанавливает max-width на каждом адаптивном разрыве
  • .container-fluid, который width: 100% на всех разрывах
  • .container-{breakpoint}, который width: 100% до указанного разрыва

В таблице ниже показано, как max-width каждого контейнера сравнивается с исходным .container и .container-fluid на каждом разрыве.

Посмотрите их в действии и сравните их в нашем примере сетки.

Очень маленький
<576px
Маленький
≥576px
Средний
≥768px
Большой
≥992px
Очень большой
≥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 изменяется на каждом разрыве.

<div class="container">
  <!-- Content here -->
</div>

Жидкостный

Используйте .container-fluid для контейнера с полной шириной, занимающего всю ширину области просмотра.

<div class="container-fluid">
  ...
</div>

Адаптивный

Адаптивные контейнеры — новинка в Bootstrap v4.4. Они позволяют вам указать класс, который имеет ширину 100% до тех пор, пока не будет достигнут указанный разрыв, после чего мы применяем max-width для каждого из более высоких разрывов. Например, .container-sm имеет ширину 100%, пока не достигнет sm разрыва, после чего он будет масштабироваться с md, lg, и xl.

<div class="container-sm">100% wide until small breakpoint</div>
<div class="container-md">100% wide until medium breakpoint</div>
<div class="container-lg">100% wide until large breakpoint</div>
<div class="container-xl">100% wide until extra large breakpoint</div>

Адаптивные разрывы

Поскольку Bootstrap разработан для мобильных устройств в первую очередь, мы используем несколько запросов медиа для создания разумных разрывов для наших макетов и интерфейсов. Эти разрывы в основном основаны на минимальной ширине области просмотра и позволяют нам масштабировать элементы по мере изменения области просмотра.

Bootstrap в основном использует следующие диапазоны запросов медиа — или разрывы — в наших исходных Sass-файлах для макета, системы сетки и компонентов.

// Extra small devices (portrait phones, less than 576px)
// No media query for `xs` since this is the default in Bootstrap

// Small devices (landscape phones, 576px and up)
@media (min-width: 576px) { ... }

// Medium devices (tablets, 768px and up)
@media (min-width: 768px) { ... }

// Large devices (desktops, 992px and up)
@media (min-width: 992px) { ... }

// Extra large devices (large desktops, 1200px and up)
@media (min-width: 1200px) { ... }

Поскольку мы пишем наш исходный CSS на Sass, все наши запросы медиа доступны через Sass-миксины:

// No media query necessary for xs breakpoint as it's effectively `@media (min-width: 0) { ... }`
@include media-breakpoint-up(sm) { ... }
@include media-breakpoint-up(md) { ... }
@include media-breakpoint-up(lg) { ... }
@include media-breakpoint-up(xl) { ... }

// Example: Hide starting at `min-width: 0`, and then show at the `sm` breakpoint
.custom-class {
  display: none;
}
@include media-breakpoint-up(sm) {
  .custom-class {
    display: block;
  }
}

Иногда мы используем запросы медиа, которые идут в обратном направлении (указанный размер экрана или меньше):

// Extra small devices (portrait phones, less than 576px)
@media (max-width: 575.98px) { ... }

// Small devices (landscape phones, less than 768px)
@media (max-width: 767.98px) { ... }

// Medium devices (tablets, less than 992px)
@media (max-width: 991.98px) { ... }

// Large devices (desktops, less than 1200px)
@media (max-width: 1199.98px) { ... }

// Extra large devices (large desktops)
// No media query since the extra-large breakpoint has no upper bound on its width

Обратите внимание, что так как браузеры в настоящее время не поддерживают запросы контекста диапазона, мы обходим ограничения min- и max- префиксов и областей просмотра с дробными значениями ширины (что может произойти в определенных условиях на устройствах с высоким разрешением), используя значения с большей точностью для этих сравнений.

Еще раз, эти запросы медиа также доступны через Sass-миксины:

@include media-breakpoint-down(xs) { ... }
@include media-breakpoint-down(sm) { ... }
@include media-breakpoint-down(md) { ... }
@include media-breakpoint-down(lg) { ... }
// No media query necessary for xl breakpoint as it has no upper bound on its width

// Example: Style from medium breakpoint and down
@include media-breakpoint-down(md) {
  .custom-class {
    display: block;
  }
}

Также есть запросы медиа и миксины для целевого выделения одного сегмента размеров экрана, используя минимальную и максимальную ширину разрыва.

// Extra small devices (portrait phones, less than 576px)
@media (max-width: 575.98px) { ... }

// Small devices (landscape phones, 576px and up)
@media (min-width: 576px) and (max-width: 767.98px) { ... }

// Medium devices (tablets, 768px and up)
@media (min-width: 768px) and (max-width: 991.98px) { ... }

// Large devices (desktops, 992px and up)
@media (min-width: 992px) and (max-width: 1199.98px) { ... }

// Extra large devices (large desktops, 1200px and up)
@media (min-width: 1200px) { ... }

Эти запросы медиа также доступны через Sass-миксины:

@include media-breakpoint-only(xs) { ... }
@include media-breakpoint-only(sm) { ... }
@include media-breakpoint-only(md) { ... }
@include media-breakpoint-only(lg) { ... }
@include media-breakpoint-only(xl) { ... }

Аналогично, запросы медиа могут охватывать несколько разрывов по ширине:

// Example
// Apply styles starting from medium devices and up to extra large devices
@media (min-width: 768px) and (max-width: 1199.98px) { ... }

Sass-миксин для выбора того же диапазона размеров экрана будет:

@include media-breakpoint-between(md, xl) { ... }

Z-индекс

Несколько компонентов Bootstrap используют z-index, свойство CSS, которое помогает управлять макетом, предоставляя третью ось для упорядочения содержимого. Мы используем стандартную шкалу z-индекса в Bootstrap, разработанную для правильного расположения навигации, всплывающих подсказок и всплывающих окон, модальных окон и т. д.

Эти более высокие значения начинаются с произвольного числа, достаточно высокого и конкретного, чтобы в идеале избежать конфликтов. Нам нужна стандартная настройка этих параметров во всех наших слоированных компонентах — всплывающих подсказках, всплывающих окнах, навигационных панелях, выпадающих меню, модальных окнах, — чтобы обеспечить приемлемую согласованность поведения. Нет причин, по которым мы не могли бы использовать 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-индекса в диапазоне низких однозначных цифр z-index для стандартного, наведённого указателем мыши, и активного состояний. При наведении/фокусировке/активации мы выводим определённый элемент вперёд с более высоким значением z-index, чтобы показать его границу над соседними элементами.

© 2011–2020 Twitter, Inc.
© 2011–2020 The Bootstrap Authors
Code licensed under the MIT License.
Documentation licensed under the Creative Commons Attribution License v3.0.
https://getbootstrap.com/docs/4.5/layout/overview/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API