Bootstrap5 Система сеток

Bootstrap предоставляет адаптивную, mobile-first, гибкую систему сеток. По мере увеличения размера экрана или области просмотра система автоматически разделяется до 12 столбцов.

Мы также можем определить количество столбцов в соответствии с нашими потребностями:

1 1 1 1 1 1 1 1 1 1 1 1
4 4 4
4 8
6 6
12

Сеточная система Bootstrap 5 является адаптивной, и столбцы автоматически перестраиваются в зависимости от размера экрана.

Пожалуйста, убедитесь, что общее количество столбцов в каждой строке равно или меньше 12.


Классы сетки

Сеточная система Bootstrap 5 имеет следующие 6 классов:

  • .col- для всех устройств.
  • .col-sm- Планшеты — ширина экрана равна или больше 576px.
  • .col-md- Настольные мониторы — ширина экрана равна или больше 768px.
  • .col-lg- Большие настольные мониторы — ширина экрана равна или больше 992px.
  • .col-xl- Очень большие настольные мониторы — ширина экрана равна или больше 1200px.
  • .col-xxl- Ультрабольшие настольные мониторы — ширина экрана равна или больше 1400px.

Правила системы сеток

Правила сеточной системы Bootstrap5:

  • Каждый ряд сетки должен быть помещён в контейнер с.container(фиксированная ширина) или.container-fluid(full-width) классом, чтобы некоторые внешние и внутренние отступы устанавливались автоматически.
  • Используйте строки для создания горизонтальных групп столбцов.
  • Содержимое должно размещаться в колонках, и только колонки могут быть прямыми дочерними элементами рядов.
  • Предопределенные классы, такие как.rowи.col-sm-4, можно использовать для быстрого создания макетов сетки.
  • Колонки создают промежутки между содержимым колонок с помощью padding. Этот промежуток достигается за счёт.rowsотрицательных внешних отступов у класса, задающего смещение для первой и последней колонок.
  • Столбцы сетки создаются путем охвата указанных 12 столбцов. Например, чтобы задать три равных столбца, нужно использовать три.col-sm-4для настройки.
  • Bootstrap 5 и Bootstrap 4 используют flexbox вместо float. Основное преимущество Flexbox в том, что колонки сетки без заданной ширины автоматически становятсяколонками одинаковой ширины и высоты.. Если вы хотите узнать больше о Flexbox, вы можете прочитать нашУчебник по CSS Flexbox. 。

В следующей таблице показано, как система сетки Bootstrap работает на разных устройствах:

Сверхмалые устройства
<576px
Планшет
≥576px
Настольный монитор
≥768px
Большой настольный монитор
≥992px
Очень большой настольный монитор
≥1200px
Ультрабольшой настольный монитор
≥1400px
Максимальная ширина контейнера Нет (auto) 540px 720px 960px 1140px 1320px
Префикс класса .col- .col-sm- .col-md- .col-lg- .col-xl- .col-xxl-
Количество столбцов и 12
Ширина промежутка 1.5rem (.75rem с каждой стороны колонки)
Поддерживают вложенность Да
Порядок колонок Да

Мы объединяем приведённые выше классы вместе, чтобы создавать более гибкие макеты страниц.

Совет:Каждый класс масштабируется пропорционально, поэтому, если вы хотите, чтобы sm и md имели одинаковую ширину, достаточно указать sm.


Базовая структура сетки Bootstrap 5

Следующий код представляет базовую структуру сетки Bootstrap 5:

Базовая структура сетки Bootstrap5

<!--Первый пример: управление шириной столбцов и их отображением на разных устройствах--> <div class="row"> <div class="col-*-*"></div> </div> <div class="row"> <div class="col-*-*"></div> <div class="col-*-*"></div> <div class="col-*-*"></div> </div> <!--Второй пример: или позвольте Bootstrap автоматически управлять макетом--> <div class="row"> <div class="col"></div> <div class="col"></div> <div class="col"></div> </div>

Первый пример: создайте строку (<div class="row">). Затем добавьте нужные столбцы (.col-*-*, заданные в классе). Первая звёздочка (*) обозначает адаптивное устройство: sm, md, lg или xl, вторая звёздочка (*) обозначает число, а числа в одной строке в сумме дают 12.

Второй пример: вместо добавления числа к каждомуcolстолбцу, позвольте Bootstrap автоматически управлять макетом; каждый столбец в одной строке имеет одинаковую ширину: два"col"столбца будут иметь ширину 50%. Три"col"столбца, каждый будет иметь ширину 33.33%, четыре"col"столбца, каждый будет иметь ширину 25%, и так далее. Аналогично можно использовать.col-sm|md|lg|xl, чтобы задать адаптивные правила для столбцов.

Далее мы можем рассмотреть примеры.

Создание столбцов одинаковой ширины, автоматическая раскладка Bootstrap

Пример

<div class="row"> <div class="col">.col</div> <div class="col">.col</div> <div class="col">.col</div> </div>

Попробуйте сами »

Адаптивные колонки одинаковой ширины

В следующем примере показано, как создать адаптивные столбцы одинаковой ширины на планшетах и экранах большего размера.На мобильных устройствах, то есть при ширине экрана менее 576px, четыре столбца будут располагаться вертикально друг под другом.:

Пример

<div class="row"> <div class="col-sm-3">.col-sm-3</div> <div class="col-sm-3">.col-sm-3</div> <div class="col-sm-3">.col-sm-3</div> <div class="col-sm-3">.col-sm-3</div> </div>

Попробуйте сами »

Адаптивные колонки разной ширины

Следующий пример демонстрирует, как создать адаптивные столбцы неравной ширины на планшетах и экранах большего размера.На мобильных устройствах, т. е. когда ширина экрана меньше 576px, два столбца будут располагаться вертикально друг под другом.:

Пример

<div class="row"> <div class="col-sm-4">.col-sm-4</div> <div class="col-sm-8">.col-sm-8</div> </div>

Попробуйте сами »

Задайте ширину одного столбца

Если вы зададите ширину только одного столбца, остальные столбцы автоматически разделят оставшуюся ширину поровну. В следующем примере ширина столбцов задается как 25%, 50%, 25%:

Пример

<div class="row"> <div class="col">col</div> <div class="col-6">col-6</div> <div class="col">col</div> </div>

Попробуйте сами »

Планшет и настольный компьютер

Следующий пример демонстрирует, что на настольных дисплеях два столбца занимают по 50% ширины; на планшетах левый столбец — 25%, а правый — 75%; на небольших устройствах, таких как мобильные телефоны, они будут располагаться вертикально друг под другом.

Пример

<div class="container-fluid"> <div class="row"> <div class="col-sm-3 col-md-6"> <p>ПРИМЕР</p> </div> <div class="col-sm-9 col-md-6"> <p>Пример</p> </div> </div> </div>

Попробуйте сами »

Планшет, настольный компьютер, большой настольный дисплей, сверхбольшой настольный дисплей

В следующем примере соотношения ширины составляют 25%/75%, 50%/50%, 33.33%/66.67%, 16.67/83.33% на планшетах, настольных компьютерах, больших настольных дисплеях и сверхбольших настольных дисплеях соответственно; на небольших устройствах, таких как мобильные телефоны, они будут располагаться вертикально друг под другом.

Пример

<div class="row"> <div class="col-sm-3 col-md-6 col-lg-4 col-xl-2 p-3 bg-primary text-white">.col</div> <div class="col-sm-9 col-md-6 col-lg-8 col-xl-10 p-3 bg-dark text-white">.col</div> </div>

Попробуйте сами »

Вложенные столбцы

В следующем примере создается макет с двумя столбцами, причем один столбец содержит два вложенных столбца:

Пример

<div class="row"> <div class="col-8"> .col-8 <div class="row"> <div class="col-6">.col-6</div> <div class="col-6">.col-6</div> </div> </div> <div class="col-4">.col-4</div> </div>

Попробуйте сами »
Эффект отображения:


Столбцы со смещением

Столбцы со смещением задаются с помощью классаoffset-*-*. Первая звездочка (*) может бытьsm、md、lg、xl, обозначая тип экранного устройства; вторая звездочка (*) может быть1от11числа.

Чтобы использовать смещения на больших экранных дисплеях, используйте классы.offset-md-*. Эти классы увеличивают левое поле (margin) столбца на*столбцов, где*диапазон — от1до11。

Например: .offset-md-4 сдвигает .col-md-4 на четыре колонки сетки вправо.

Пример

<div class="row"> <div class="col-md-4">.col-md-4</div> <div class="col-md-4 offset-md-4">.col-md-4 .offset-md-4</div> </div> <div class="row"> <div class="col-md-3 offset-md-3">.col-md-3 .offset-md-3</div> <div class="col-md-3 offset-md-3">.col-md-3 .offset-md-3</div> </div> <div class="row"> <div class="col-md-6 offset-md-3">.col-md-6 .offset-md-3</div> </div>

Попробуйте сами »
Другие расширения