Содержание
Bootstrap 4. Сетка
Bootstrap использует систему FlexBox. В сетке Bootstrap по умолчанию содержится 12 колонок. Число 12 делится на много других чисел, поэтому им очень удобно оперировать. Ваша задача — разбивать колонки таким образом, чтобы в сумме они давали 12, например, две колонки в пропорции 8:4 или три колонки 5:4:3. Если вы ошибётесь и число колонок будет больше 12, то лищние колонки будут переноситься на следующую строку по правилам FlexBox.
Имеются три главных компонента сетки — контейнер, ряд и колонка.
container
Контейнер представлен классом container для фиксированной ширины и container-fluid на всю ширину страницы. Контейнеры помогают выравнивать содержимое страницы.
Container-fluid – это полностью резиновый контейнер, который растягивается всегда на 100% ширины окна, поэтому если у вас полностью резиновый сайт, вам нужен именно такой контейнер.
На странице может быть несколько контейнеров, логически разбивающие содержание страницы.
row
Внутри этого контейнера должен быть ещё один блок с классом row, то есть ряд сетки.
Ряды представляют собой горизонтальные группы колонок для равномерного и аккуратного распределения содержимого. Контент должен находиться в колонках. Только колонки могут быть дочерними элементами рядов.
Ряды не могут существовать вне контейнера.
col
Классы колонок содержат в названии число колонок. Колонка имеет класс col-x-x, где первый x – обозначение устройства, а второй – количество колонок от 1 до 12. Максимальное число — 12 колонок в ряд. Таким образом, если вы хотите разбить контент на три равные части, то используйте .col-sm-4 (4 * 3 = 12).
Ширина колонки вычисляется автоматически относительно родительского элемента.
Колонки имеют горизонтальные отступы для создания пространства между собой.
Если использовать простые варианты без дополнительных модификаторов типа col-8 и col-4, то две колонки с заданными пропорциями будут построены на любых экранах — на десктопе, планшетах и телефонах. Это не всегда удобно. Поэтому применяют дополнительные правила. Можно реализовать 3 колонки на настольном компьютере, 2 колонки на планшетах и 1 колонку на мобильном телефоне
Построение по сетке
Было выделено 5 основных типов устройств по ширине экрана. Для самых маленьких устройств (extra small), у которых ширина экрана менее 576 пикселей, префикс класса – col. Далее идет col-sm (small, ширина от 576 до 768 пикселей), col-md (medium, ширина от 768 до 992 пикселей), col-lg (large ), с шириной от 992 до 1200 пикселей и xl (extra large) с шириной более 1200 пикселей.
Перестроение начинается с определённых величин: 540px, 720px, 960px, 1140px.
Опорные точки основаны на минимальной ширине и распространяются выше. Например, col-sm-4 применим к маленьким, средним, большим и сверхбольшим экранам по нарастающей.
Как же работают классы типа col-x-x? Очень просто.
Создадим три одинаковые колонки.
Одна треть/col-sm-4
Одна треть/col-sm-4
Одна треть/col-sm-4
<div>
<div>
<div>
Одна треть/col-sm-4
</div>
<div>
Одна треть/col-sm-4
</div>
<div>
Одна треть/col-sm-4
</div>
</div>
</div>
Три равные колонки будут на маленьких, средних, больших и очень экранах. Колонки центрируются внутри родительского container.
Теперь создадим другой пример, когда на маленьких экранах всё будет размещаться в одной колонке. При увеличении размеров разметка будет меняться. Удобнее проверять на настольном компьютере, уменьшив ширину браузера до маленьких величин и постепенно его увеличивая.
col-md-1
col-md-1
col-md-1
col-md-1
col-md-1
col-md-1
col-md-1
col-md-1
col-md-1
col-md-1
col-md-1
col-md-1
col-md-4
col-md-4
col-md-4
<div>
<div>
<div>col-md-1</div>
<div>col-md-1</div>
<div>col-md-1</div>
<div>col-md-1</div>
<div>col-md-1</div>
<div>col-md-1</div>
<div>col-md-1</div>
<div>col-md-1</div>
<div>col-md-1</div>
<div>col-md-1</div>
<div>col-md-1</div>
<div>col-md-1</div>
</div>
<div>
<div>col-md-8</div>
<div>col-md-4</div>
</div>
<div>
<div>col-md-4</div>
<div>col-md-4</div>
<div>col-md-4</div>
</div>
<div>
<div>col-md-6</div>
<div>col-md-6</div>
</div>
</div>
В этом примере мы использовали класс .col-md-* для построения сетки, начиная с десктопных устройств (medium). Всё, что меньше (телефоны (col) и планшеты (col-sm)), будет выводиться в одну колонку, так как мы не указали для этих размеров правила.
Mobile и desktop
Если такое поведение не устраивает, то добавляйте класс col-*.
На мобильных устройствах одна колонка растянется на всю ширину, а вторая займёт половину ниже. Так как больше 12 колонок быть не может, то задав ширину у первой колонки в 12 единиц, мы заставили вторую колонку перейти на следующую строку и занять половину (col-xs-6)
.col-12 .col-md-8
.col-6 .col-md-4
<div>
<div>.col-xs-12 .col-md-8</div>
<div>.col-xs-6 .col-md-4</div>
</div>
Следующий пример.
На мобильных каждая колонка занимает половину экрана. Третья колонка разместится с новой строки под первой колонкой. На настольных устройствах колонки разместятся в один ряд, занимая одну треть каждая.
.col-6 .col-md-4
.col-6 .col-md-4
.col-6 .col-md-4
<div>
<div>.col-xs-6 .col-md-4</div>
<div>.col-xs-6 .col-md-4</div>
<div>.col-xs-6 .col-md-4</div>
</div>
Колонки всегда занимают половину экрана на мобильных и настольных устройствах.
<div>
<div>.col-xs-6</div>
<div>.col-xs-6</div>
</div>
Mobile, tablet, desktop
Ещё больше вариативности. Добавляем поддержку планшетов, используя класс .col-sm-*.
.col-12 .col-sm-6 .col-md-8
.col-6 .col-md-4
<div>
<div>.col-xs-12 .col-sm-6 .col-md-8</div>
<div>.col-xs-6 .col-md-4</div>
</div>
Подведём итог. Создадим две колонки в пропорции 3:1.
<div class = "row">
<div class = "col-md-3 col-sm-6">Первая колонка ряда</div>
<div class = "col-md-1 col-sm-6">Вторая колонка ряда</div>
</div>
Первая колонка ряда
Вторая колонка ряда
С помощью этих классов мы определили: на средних и больших устройствах дать первому блоку ширину в 3 колонки из 12, а второму – 1 из 12. А вот на маленьких экранах планшетов следует оба блока показать на 50% ширины ряда.
А что же произойдет на самых маленьких экранах телефонов? Если сузить окна браузера до размеров телефона, то отменится правило для extra small и каждый блок станет занимать по 100% ширины в ряде. Запомните, что это поведение блоков по умолчанию – занимать 100% ширины в своем контейнере.
Если мы задаем, например, col-sm-6, то такая ширина сохранится у блока и на md и lg, если для этих устройств ничего не прописано.
А вот на col, то есть на экстра-маленьких устройствах, ширина блока будет 100%, а не 50%. То есть наследование прописанной ширины происходит только для больших устройств, но ни в коем случаев не для меньших. Например, если вы напишите такой класс: col-lg-6, то такая ширина у блока будет только на экранах более 1200 пикселей. На md, sm, xs будет другая ширина.
Вы можете указывать блоку не один, а несколько классов. Например, col-6 col-md-4.
На маленьких экранах будет 50%, то есть половина ширины контейнера. На sm то же самое – 50%, так как значение наследуется для устройств с большей шириной. На md блок займет треть ширины. На самых больших экранах тоже треть. Опять же, значение наследуется из md.
Вы можете прописать так:
<div></div>
Мы задали своё отображение для каждого типа устройств.
Можно вкладывать сетку в какой-угодно блок. Давайте рассмотрим такой пример кода:
1 блок
2 блок
3 блок
<div>
<div>
<div>
<div class= "row">
<div>1 блок</div>
<div>2 блок</div>
<div>3 блок</div>
</div>
</div>
</div>
</div>
У нас есть общий контейнер (фиолетовый), а в нём один ряд. В ряд вложен блок, который занимает половину ширины контейнера на средних и больших экранах, две трети на маленьких и 100% на самых маленьких. Внутри ещё три блока.
Ряд является контейнером для других рядов и т.д. Обязательно придерживайтесь в коде структуры: контейнер – ряд — ячейки (колонки).
Старые сетки работали на обтеканиях, поэтому все колонки были разной высоты. Высота определялась контентом.
В Flexbox макетах все ячейки в строке имеют высоту колонки с наибольшим контентом.
Чтобы помочь представить две системы, посмотрите демо обеих сеток.
Когда колонок в строке становится больше 12, тринадцатая колонка перепрыгивает на следующую строку. Эффект называется переход столбца и работает одинаково в обычной сетке и flex-bootstrap.
<div>
<div>.col-xs-6</div>
<div>.col-xs-6</div>
<div>.col-xs-3, This column will move to the next line.</div>
</div>
.col-6
.col-6
.col-3, This column will move to the next line.
Единственное, на что стоит обратить внимание, это то, что в режиме автомакетирования безразмерная колонка может растянуться на всю строку, если она не вместилась на предыдущей.
Различные примеры сеток смотрите также в FlexBox
Общие рекомендации по построению
Сначала создаём блок ряда в контейнере.
<div>
<div></div>
<div></div>
</div>
Начинается проверка с маленького экрана. Выводим два блока по вертикали один над другим.
<div>
<div></div>
<div></div>
</div>
На средних экранах хотим видеть два блока рядом по горизонтали.
<div>
<div></div>
<div></div>
</div>
Так, варьируя классы, вы можете построить нужный макет.
Реклама
Как получить сетку bootstrap 4 24
Кто-нибудь знает, где скачать 24-сеточную версию новейшей бета-версии bootstrap 4-0-0?
Я не хочу использовать sass, и я не могу найти опцию Настройки на веб-сайте bootstrap.
grid
bootstrap-4
Поделиться
Источник
xmS
16 сентября 2017 в 22:21
2 ответа
- Как получить angular ng-bootstrap точки останова
Я использую ng-bootstrap в своем проекте, что означает, что я могу создать сетку/точки останова с помощью: <div class=row> <div class=col-sm-12 col-md-6 col-xl-4></div> </div> Как бы хороши они ни были, bootstrap не добавляет никакой функциональности для typescript, что…
- Создайте сетку на Bootstrap 4
Я пытаюсь создать классическую сетку модулей для новостей в bootstrap 4, она должна выглядеть так: Я не могу понять, что второй столбец адаптирует высоту к первому, и я не указываю высоту для коробки или первого столбца, но прямо сейчас я просто хочу знать, как лучше всего этого добиться, и если…
Поделиться
Zim
17 сентября 2017 в 13:39
1
К сожалению, в Bootstrap 4 нет инструмента настройки, поэтому пользовательская сборка является необходимым шагом.
Но не волнуйтесь, это довольно просто.
- Следуйте инструкциям из этого ответа — https://stackoverflow.com/a/47251052/1614120 (вам потребуется установить Node.js)
- Поместите следующий код в
name.scss
(файл, упомянутый на 5-м шаге):
name.scss
@import "bootstrap/scss/functions";
@import "bootstrap/scss/variables";
@import "bootstrap/scss/mixins";
$grid-columns: 24; // This overrides default value (12)
@import "bootstrap/scss/grid";
- Компиляция (шаг 7).
Если вам нужны какие-либо другие компоненты начальной загрузки, кроме сетки, см. Шаг 5 инструкции.
Поделиться
jedik
09 мая 2019 в 11:22
Похожие вопросы:
как создать сложную сетку в bootstrap 3, (column rowspan)
как создать следующую сетку с помощью bootstrap 3 ? я проверил много ответов, но не нашел решения для своей сетки. Bootstrap объединение строк (rowspan ) Свойство rowspan Twitter Bootstrap 3 и…
Bootstrap 4 Столбцов, 2 Скрытых
Я создаю загрузочную страницу, которая будет иметь сетку из 4 столбцов. Однако 2 из них будут скрытыми столбцами. Один слева, другой справа. Когда пользователь нажимает кнопку переключения слева, он…
Включить сетку Flexbox в Bootstrap 4 с помощью NPM
Я только что тестировал Bootstrap 4 и по какой — то причине не могу включить сетку Flexbox. Вот моя основная структура проекта SCSS, просто если это имеет значение: styles ├── framework │ ├── vendor…
Как получить angular ng-bootstrap точки останова
Я использую ng-bootstrap в своем проекте, что означает, что я могу создать сетку/точки останова с помощью: <div class=row> <div class=col-sm-12 col-md-6 col-xl-4></div>…
Создайте сетку на Bootstrap 4
Я пытаюсь создать классическую сетку модулей для новостей в bootstrap 4, она должна выглядеть так: Я не могу понять, что второй столбец адаптирует высоту к первому, и я не указываю высоту для…
как настроить сетку из трех столбцов bootstrap 4 с фиксированными процентами
У меня есть довольно нормальная сетка Bootstrap 4, разделяющая строку на 3 столбца одинаковой ширины: <div class=row> <div class=col-md-4>col-md-4</div> <div…
Как переопределить сетку Bootstrap 4 с помощью scss без редактирования каких-либо загрузочных файлов?
Могу ли я просто регенерировать сетку (или любую другую часть boostrap) и переопределить настройки bootstrap по умолчанию с помощью scss без изменения каких-либо файлов и переменных в исходном…
Bootstrap 4 пользовательская сетка
Как выполнить следующую сетку с помощью Bootstrap 4 ? Я хочу, чтобы один столбец был от края окна до внутренней части, а другой-наполовину как стандартный .контейнер?
Как использовать сеточную систему Bootstrap 3 или 4 — 16 & 24
Я разработал шаблон веб-сайта Bootstrap 24 psd grid, но теперь я запутался, как использовать эти 24 или 16 psd сеток в Bootstrap 3 или 4, потому что Bootstrap предоставляет только 12 col grid…
Не удается выровнять повернутый текст в сетке Bootstrap 4
У меня есть сетка, использующая сетку Bootstrap 4, которая должна выглядеть следующим образом: У меня есть почти 100% из них завершены, проблема у меня есть выравнивание вертикально повернутого…
Web-разработка • HTML и CSS
Bootstrap 4 — это открытый и бесплатный HTML, CSS и JS фреймворк, который используется веб-разработчиками для быстрого создания адаптивных дизайнов сайтов. В сущности — это просто набор сss- и js-файлов. После подключения этих файлов к странице станут доступны большое количество готовых классов и компонентов.
Сетка
Сетка — это набор предопределённых css-классов, с помощью которых можно задать необходимое поведение блокам и построить с их помощью адаптивный макет сайта.
Оберточный контейнер
Оберточный контейнер — это элемент сетки, с которого начинается создание макета для всей страницы или её части (шапка, основной области, подвал). Контейнер может быть адаптивно-фиксированным (класс container
) или адаптивно-резиновым (класс container-fluid
).
- Адаптивно-фиксированный контейнер имеет постоянную ширину в пределах некоторого диапазона ширины окна браузера. Кроме того, контейнер центрирует себя в горизонтальном направлении и задает внутренние отступы (
padding
) слева и справа по15рх
. - Адаптивно-резиновый контейнер занимает всю ширину окна браузера. Кроме этого, он также как и адаптивно-фиксированный контейнер, задает внутренние отступы (
padding
) слева и справа по15рх
.
.container { /* адаптивно-фиксированный контейнер */ width: 100%; padding-right: 15px; padding-left: 15px; margin-right: auto; margin-left: auto; } .container-fluid { /* адаптивно-резиновый контейнер */ width: 100%; padding-right: 15px; padding-left: 15px; margin-right: auto; margin-left: auto; }
Ряды и адаптивные блоки
Следующий элемент сетки — это ряд (блок div
с классом row
), который применяется для оборачивания других элементов (адаптивных блоков). Первое назначение ряда — это нейтрализация положительного внутреннего отступа (15px слева и справа) контейнера. А второе — он служит flex-контейнером для flex-элементов (адаптивных блоков). Как нетрудно догадаться, сетка Bootstrap 4 построена на Flexbox.
.row { display: flex; flex-wrap: wrap; margin-right: -15px; margin-left: -15px; }
Последний элемент сетки — адаптивные блоки (div
с классом col-{1…12}
или col-{sm…xl}-{1…12}
). Эти блоки являются основными «строительными» кирпичиками, именно они и формируют необходимую структуру. Адаптивный блок на разных устройствах может иметь разную ширину.
/* xs устройства */ .col, .col-auto, .col-1, .col-2, ..., .col-11, .col-12, /* sm устройства */ .col-sm, .col-sm-auto, .col-sm-1, .col-sm-2, ..., .col-sm-11, .col-sm-12, /* md устройства */ .col-md, .col-md-auto, .col-md-1, .col-md-2, ..., .col-md-11, .col-md-12, /* lg устройства */ .col-lg, .col-lg-auto, .col-lg-1, .col-lg-2, ..., .col-lg-11, .col-lg-12, /* xl устройства */ .col-xl, .col-xl-auto, .col-xl-1, .col-xl-2, ..., .col-xl-11, .col-xl-12 { position: relative; width: 100%; padding-right: 15px; padding-left: 15px; }
Адаптивные блоки (или колонки) имеют горизонтальные отступы, но их можно удалить, если добавить класс no-gutters
для ряда:
<div> <div> <div>.....</div> <div>.....</div> <div>.....</div> </div> </div>
.no-gutters > .col, .no-gutters > [class*="col-"] { padding-right: 0; padding-left: 0; }
Медиа-запросы
/* Очень маленькие устройства (xs, менее чем 576px) */ /* Без медиа запросов, так как в Bootstrap это по умолчанию */ /* Маленькие устройства (sm, 576px и выше) */ @media (min-width: 576px) { ... } /* Средние устройства (md, 768px и выше) */ @media (min-width: 768px) { ... } /* Большие устройства (lg, 992px и выше) */ @media (min-width: 992px) { ... } /* Очень большие устройства (xl, 1200px и выше) */ @media (min-width: 1200px) { ... }
Extra small ( | Small (≥576px) | Medium (≥768px) | Large (≥992px) | Extra large (≥1200px) | |
---|---|---|---|---|---|
Ширина контейнера | auto | 540 | 720 | 960 | 1140 |
Класс префикса | .col- | .col-sm- | .col-md- | .col-lg- | .col-xl- |
Заготовка страницы
<!doctype html> <html lang="en"> <head> <!-- Required meta tags --> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <!-- Bootstrap CSS --> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous"> <title>Hello, world!</title> </head> <body> <h2>Hello, world!</h2> <!-- jQuery first, then Popper.js, then Bootstrap JS --> <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script> </body> </html>
/* Стили для самых маленьких устройств, концепция «Mobile First». Эти стили будут применяться и для всех других экранов (sm, md, lg, xl), если не будут переопределены в media-запросах. */ body { font-family: 'Open Sans', sans-serif; } img { max-width: 100%; } /* Медиа-запросы, переопределяющие стили для xs-устройств */ /* Маленькие устройства (sm, 576px и выше) */ @media (min-width: 576px) { ... } /* Средние устройства (md, 768px и выше) */ @media (min-width: 768px) { ... } /* Большие устройства (lg, 992px и выше) */ @media (min-width: 992px) { ... } /* Очень большие устройства (xl, 1200px и выше) */ @media (min-width: 1200px) { ... }
Примеры использования сетки
Первый пример
<div> <div>.....</div> </div>
Данный адаптивный блок будет иметь:
- на
xs
-устройствах: ширину, равную 12 колонкам - на
sm
-устройствах: ширину, равную 9 колонкам - на
md
-устройствах: ширину, равную 7 колонкам - на
lg
-устройствах: ширину, равную 5 колонок - на
xl
-устройствах: ширину, равную 3 колонкам
Второй пример
Адаптивные блоки в ряду по умолчанию располагаются горизонтальными линиями. В пределах горизонтальной линии адаптивные блоки выстраиваются последовательно слева направо. В одну горизонтальную линию могут поместиться адаптивные блоки с суммарным числом колонок не более 12. Адаптивные блоки, которые не помещаются в текущую линию, переходят на следующую.
<div> <div>1</div> <div>2</div> <div>3</div> <div>4</div> </div>
Третий пример
При указании ширины адаптивному блоку для какой-то контрольной точки, она будет распространяться не только на эту точку, но и на все следующие, если они не заданы.
<div> <div> <div>Sidebar left</div> <div>Page content</div> <div>Sidebar right</div> </div> </div>
На устройствах md
, lg
и xl
:
На устройствах sm
:
На устройствах xs
:
Четвертый пример
Группа классов col
, col-sm
, col-md
, col-lg
, col-xl
предназначена для создания адаптивных блоков, ширина которых будет зависеть от свободного пространства линии. Распределение не занятой ширины (свободного пространства) линии между всеми такими блоками осуществляется равномерно.
<!-- Пять колонок одинаковой ширины --> <div> <div>1/5</div> <div>1/5</div> <div>1/5</div> <div>1/5</div> <div>1/5</div> </div>
<!-- Расчет ширины блоков при наличии блока с указанием ширины --> <div> <div>Ширина 1/3 свободного пространства</div> <div>Блок с указанием ширины</div> <div>Ширина 1/3 свободного пространства</div> <div>Ширина 1/3 свободного пространства</div> </div>
<!-- Четыре адаптивных блока по 50% ширины в двух линиях --> <div> <div>.....</div> <div>.....</div> <!-- Имеет ширину 100%, что позволяет перенести блоки на вторую линию --> <div></div> <div>.....</div> <div>.="col"] { background-color: #00BFFF; } }
Поиск:
Bootstrap • CSS • HTML • Web-разработка • Верстка • Фреймворк • Шаблон сайта • Сетка
css — Bootstrap 4 квадратная сетка
Я хочу создать адаптивную сетку квадратов с помощью Bootstrap 4, для этого я делаю что-то вроде этого (одна строка):
<div>
<div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
</div>
И я устанавливаю для класса col
следующее правило:
.col {
padding-top: 100%;
}
Но это создает только строку с каждым столбцом высоты области просмотра.
Это решение раньше работало, но я думаю, что оно ломает флексбокс Bootstrap 4.
Есть идеи?
2
Mauricio Machado
30 Мар 2018 в 02:39
2 ответа
Можете ли вы попробовать использовать class = «w-100»
Пример приведен на официальном сайте Bootstrap
<div>
<div>col</div>
<div>col</div>
<div></div>
<div>col</div>
<div>col</div>
</div>
0
patm
29 Мар 2018 в 23:46
Вы можете лучше использовать собственные функции начальной загрузки, чем реализовывать их самостоятельно. Зачем использовать рамки в противном случае?
Вот пример загрузочного класса mt-x, который добавляет поля в разные столбцы.
.col{
background-color: powderblue;
border: 1px solid black;
height: 50px;
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" rel="stylesheet"/>
<div>
<div>
<div ></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
</div>
Вы можете использовать Bootstrap4 mt (верхний класс полей)
0
Willem van der Veen
29 Мар 2018 в 23:51
css — Сетка bootstrap 4
Пытаюсь разместить фотографию в одном случае слева, а в другом случае справа. С противоположной стороны от фото — текст.
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/css/bootstrap.min.css" integrity="sha384-PsH8R72JQ3SOdhVi3uxftmaW6Vc51MKb0q5P2rRUpPvrszuE4W1povHYgTpBfshb" crossorigin="anonymous">
<div>
<div>
<div>
<div>
<img src="http://placehold.it/1024x768" alt="">
</div>
<div>
<h4>Название 1</h4>
<div>
<p>Описание1</p>
<div>
<a href="#">Узнать больше</a>
</div>
</div>
</div>
</div>
<div>
<div>
<h4>Название 1</h4>
<div>
<p>Описание2</p>
<div>
<a href="#">Узнать больше</a>
</div>
</div>
</div>
<div>
<img src="http://placehold.it/1024x768" alt="">
</div>
</div>
</div>
</div>
При этом на малых экранах всё вытягивается в линию, а на нормальных экранах получается это (как и задумано):
Но с мобильного из-за того, что одно фото в коде стоит перед описанием, а второе — после, получается так, что не ясно, к какому из фото относится текст — всё вытягивается и выходит: фото, название, описание, кнопка + название, описание, кнопка, фото (смотри пример кода выше).
Можно ли как-то сделать так, чтобы на средних и больших экранах фото и текст были слева-справа друг от друга, чередуясь. А на мобильном, вытянувшись, всё шло в одном порядке: фото, название, описание кнопка?
Bootstrap 4 Базовая сетка / Grid. Уроки для начинающих. W3Schools на русском
Bootstrap 4 Система сетки
Система сетки Bootstrap построена с помощью flexbox и позволяет разместить до 12 столбцов на странице.
Если вы не хотите использовать все 12 столбцов по отдельности, вы можете сгруппировать столбцы вместе, чтобы создать более широкие столбцы:
пролет 1 | пролет 1 | пролет 1 | пролет 1 | пролет 1 | пролет 1 | пролет 1 | пролет 1 | пролет 1 | пролет 1 | пролет 1 | пролет 1 |
пролет 4 | пролет 4 | пролет 4 | |||||||||
пролет 4 | пролет 8 | ||||||||||
пролет 6 | пролет 6 | ||||||||||
пролет 12 |
Система сетки реагирует, и столбцы будут автоматически переставляться в зависимости от размера экрана.
Убедитесь, что количество столбцов составляет 12 или менее (не обязательно использовать все 12 доступных столбцов).
Классы сетки
Система сетки Bootstrap 4 имеет пять классов:
.col-
(extra small / экстрамалые устройства — ширина экрана менее 576 пикселей).col-sm-
(small devices / маленькие устройства — ширина экрана равна или больше 576 пикселей).col-md-
(medium devices / средние устройства — ширина экрана равна или больше 768 пикселей).col-lg-
(large devices / большие устройства — ширина экрана не менее 992 пикселей).col-xl-
(xlarge devices / экстрабольшие устройства — ширина экрана равна или превышает 1200 пикселей)
Указанные выше классы можно комбинировать для создания более динамичных и гибких макетов.
Совет: Каждый класс масштабируется, поэтому, если вы хотите установить одинаковую ширину для
sm
и md
, вам нужно только указать sm
.
Базовая структура сетки Bootstrap 4
Ниже приведена базовая структура сетки Bootstrap 4:
<!— Или пусть Bootstrap автоматически обрабатывает макет —>
<div>
<div></div>
<div></div>
<div></div>
</div>
Первый пример: создать строку (<div
). Затем добавьте нужное количество столбцов (теги с соответствующими
>
.col-*-*
классами). Первая звезда (*) представляет отзывчивость: sm, md, lg или xl, а вторая звезда представляет число, которое должно составлять до 12 для каждой строки.
Второй пример: вместо добавления номера к каждому col
, пусть bootstrap обрабатывает макет, чтобы создать столбцы равной ширины: два "col"
элемента = 50% ширины для каждого столбца. три столбца = 33,33% ширины каждого столбца. четыре столбца = 25% ширины и т.д. Вы также можете использовать .col-sm|md|lg|xl
чтобы сделать столбцы адаптивными.
Ниже мы собрали несколько примеров основных макетов сетки Bootstrap 4.
Три равных столбца
В следующем примере показано, как создать три столбца одинаковой ширины на всех устройствах и ширине экрана:
Адаптивные столбцы
.col-sm-3
.col-sm-3
.col-sm-3
.col-sm-3
В следующем примере показано, как создать четыре столбца одинаковой ширины, начиная с планшетов и масштабируя их до экстра больших (extra large) десктопов. На мобильных телефонах или экранах шириной менее 576 пикселей столбцы автоматически накладываются друг на друга:
Пример
<div>
<div>.col-sm-3</div>
<div>.col-sm-3</div>
<div>.col-sm-3</div>
<div>.col-sm-3</div>
</div>
Попробуйте сами »
Два неравных адаптивных столбца
В следующем примере показано, как получить два столбца различной ширины, начиная с планшетов и масштабируя их до экстра больших (extra large) десктопов:
Примечание: Вы узнаете больше о сетках Bootstrap 4 позже в этом учебнике на нашем сайте W3Schools на русском.
Чем отличается сетка Bootstrap версии 3 и 4
Подключив файлы из набора на свою веб-станицу, можно реализовать практически любой макет страницы, не добавив ни строчки своих стилей, а используя только готовые классы и разметку HTML блоков.
Очень сложно сделать универсальное решение, подходящее всем и, судя по популярности, создателям Bootstrap эта задача удалась.
Наверно, каждый веб разработчик проходит в своём развитии несколько стадий:
- скачивает Bootstrap целиком, с кнопками, формами и прочим, не всегда применяемым арсеналом;
- понимая, со временем, что неиспользуемых стилей и скриптов слишком много, открывает для себя раздел Customize на сайте getbootstrap.com, настраивает сборку из необходимых компонентов;
- осваивает Node.js, скачивает исходники Bootstrap с github и делает сборку на своём компьютере локально под каждые конкретные задачи;
- понимает, что лишних классов всё равно много, а исходные mixin-ы править лень, пишет свои классы, столько, сколько используется в проекте и размер на разных экранах устанавливает, исходя из макета.
Основные элементы разметки Bootstrap
Сетка Bootstrap — это «скелет» страницы, определяющий положение блоков на ней.
Расположение блоков на странице
Допустим, нужно разместить блоки на типовом лендинге, где некоторые секции страницы имеют ширину во весь экран, а некоторые — ограничены каким то значением и расположены посередине.
Основной «строительный материал», из которого складывается веб страница — HTML-тег <div>
, типичное «поведение» которого (если не указан класс), занимать всю ширину и располагаться с новой строки.
Если внутри необходимо разместить содержимое, ограниченное по ширине, добавляем div
с классом container
(здесь и далее — классы Bootstrap). Внутри контейнера происходит дальнейшее деление на мелкие блоки — добавляется div
(строка) и в нём — колонки, которые в Bootstrap именуются, начиная с col-
. Число колонок, «умещающихся» в ширину строки — 12 (это сетка по умолчанию, принятая в Bootstrap, при необходимости, можно задать своё деление).
Почему 12 колонок? Да потому что это число делится на 2, 3, 4 и 6, что позволяет реализовать самые типовые макеты. Соответственно, на рисунке-примере HTML-разметка будет выглядеть так:
<div>
<div>
<div>
<!-- Две колонки в половину ширины -->
<div>Текст первой колонки</div>
<div>Текст второй колонки</div>
</div>
</div>
</div>
для верхнего блока, и, для нижнего — следующим образом:
<div>
<div>
<div>
<!-- Три колонки в 1/3 ширины -->
<div>Текст первой колонки</div>
<div>Текст второй колонки</div>
<div>Текст третьей колонки</div>
</div>
</div>
</div>
Сумма чисел в классах колонок должна составлять 12, иначе ширина блока будет меньше ширины контейнера и справа останется незаполненное место.
Если колонку, в свою очередь, необходимо также поделить по ширине — добавляем div и в нём колонки по той же схеме.
Здесь пример сетки Bootstrap 3, обратите внимание на стили CSS — именно так формируются основные структурные элементы сетки — контейнер, строка и колонка. Для колонок разной ширины разница только в свойстве width
— оно задаётся в процентах от общей ширины. Относительное значение width
придаёт вёрстке адаптивность под разные устройства.
Разумеется, фреймворк имеет много других классов, позволяющих выводить колонки со смещением по ширине, различным выравниванием и управлять размещением и видимостью блоков для разных устройств.
Недостатки сетки Bootstrap версии 3
Сетка Bootstrap 3 основана на CSS свойстве float
, которое поддерживается во всех браузерах, включая старые версии, но не лишено недостатков. Один из них очевиден в приведённом примере — колонки имеют высоту, соответствующую содержимому, и не развёртываются по высоте родительского элемента (row).
Одно из решений — выставлять фиксированную height
или минимальную min-height
высоту колонок (соответственно разную, для разных устройств). Данную задачу можно решить с помощью jQuery (пример иллюстрирует реализацию при нажатии на ссылку или, после раскомментирования одной строки скрипта, включается выравнивание при загрузке страницы).
Кроме того, чтобы колонки вели себя предсказуемо при адаптации, для контейнера и строки используются добавление псевдоэлементов :before
и :after
, которые визуально не отображаются, а лишь компенсируют недостатки свойства float
(имеющего назначение в виде «обтекания» рисунка текстом). А оптимизация HTML страницы предполагает использование минимально необходимого количества элементов.
Классы разметки в 4-ой версии
Классы контейнера и строки остались те же — .container
и .row
. Классов колонок добавилось, но прежние так же актуальны.
Сетка в Bootstrap 4 формируется указанием родительскому элементу свойства display:flex;
. Cовременные версии браузеров его поддерживают:
Поддержка браузерами свойства flex (caniuse.com)
Internet Explorer, даже в версии 11 отличился — дословный перевод «частичная поддержка из-за большого количества ошибок».
Указывая классы с цифрами — получаем колонки c определённой шириной, как и в прежней версии (пример).
Колонки в родительском .row
теперь занимают всю высоту строки.
Используя новый класс .col
— можно никакие цифры в классах не складывать, и добавлять любое количество div-ов с этим классом — их ширина будет одинакова.
Некоторым из колонок нужно задать ширину, а остальным нет? Сочетаем в одном .row
классы колонок с цифрами и без них — и колонки с классом .col
равномерно распределятся по оставшейся ширине строки.
Выравнивание содержимого колонки по вертикали? С flex
это делается достаточно просто. Указываем родительскому элементу следующие CSS правила:
display: flex;
flex-direction: column;
justify-content: center;
Выводы по использованию
Решение, какую версию фреймворка Bootstrap зависит, не в меньшей мере, от аудитории сайта, который предстоит разрабатывать. Точнее, от браузера, который используют ваши пользователи.
Люди пожилого возраста, например, часто пользуются устаревшими компьютерами, что подразумевает Windows XP, а это Internet Explorer 8 версии максимум.
Далее, на рабочих компьютерах пользователи не вольны в выборе операционной системы и браузера. Какой установлен, на том и работают. И, если предполагается, что посещать сайт будут работники государственных, муниципальных и социальных учреждений, со служебных компьютеров, лучше использовать Bootstrap 3.
Мобильные устройства — на старых смартфонах операционная система, как и браузеры, уже не обновляется. В этом случае можно частично выйти из положения, переключая на маленьких экранах .row на свойство display:block;
, а колонки на flex:unset;
. Тогда они просто будут выводиться одна под другой во всю ширину экрана (что на маленьких экранах, обычно, и делается).
При перепечатке и копировании ссылка на сайт обязательна.
Опубликовано: 24.02.2020 г. 264
Bootstrap 4 Grid Basic
Bootstrap 4-сеточная система
Сетка
Bootstrap построена на основе Flexbox и позволяет размещать до 12 столбцов на странице.
Если вы не хотите использовать все 12 столбцов по отдельности, вы можете сгруппировать
столбцы вместе для создания более широких столбцов:
пролет 1 | пролет 1 | пролет 1 | пролет 1 | пролет 1 | пролет 1 | пролет 1 | пролет 1 | пролет 1 | пролет 1 | пролет 1 | пролет 1 |
пролет 4 | пролет 4 | пролет 4 | |||||||||
пролет 4 | пролет 8 | ||||||||||
пролет 6 | пролет 6 | ||||||||||
пролет 12 |
Система сеток адаптивна, и столбцы автоматически меняют расположение в зависимости от размера экрана.
Убедитесь, что сумма составляет 12 или меньше (необязательно, чтобы
использовать все 12 доступных столбцов).
Классы сетки
Грид-система Bootstrap 4 имеет пять классов:
-
.col-
(сверхмалые устройства — ширина экрана менее 576 пикселей) -
.col-sm-
(маленькие устройства — ширина экрана не менее 576 пикселей) -
.col-md-
(средние устройства — ширина экрана не менее 768 пикселей) -
.col-lg-
(большие устройства — ширина экрана не менее 992 пикселей) -
.col-xl-
(устройства xlarge — ширина экрана не менее 1200 пикселей)
Приведенные выше классы можно комбинировать для создания более динамичных и гибких макетов.
Совет: Каждый класс масштабируется, поэтому, если вы хотите установить одинаковую ширину для
см
и мд
, нужно только указать см
.
Базовая структура сетки Bootstrap 4
Ниже представлена базовая структура сетки Bootstrap 4:
< / div>
Первый пример: создать строку (
.col - * - *
классы). Первая звезда (*)представляет отзывчивость: sm, md, lg или xl, а вторая звезда
представляет собой число, которое должно составлять до 12 для каждой строки.
Второй пример: вместо добавления числа к каждому столбцу col
позвольте загрузочному дескриптору
макет, чтобы создать столбцы одинаковой ширины: два элемента "col"
= 50% ширины для
каждый столбец. три столбца = 33,33% ширины каждого столбца. четыре столбца = 25% ширины и т. д.Ты
также можно использовать .col-sm | md | lg | xl
, чтобы сделать столбцы адаптивными.
Ниже мы собрали несколько примеров базовых макетов сеток в Bootstrap 4.
Три равные колонны
В следующем примере показано, как создать три столбца одинаковой ширины на всех
устройства и ширина экрана:
Пример
Попробуй сам »
Адаптивные столбцы
.col-sm-3
.col-sm-3
.col-sm-3
.col-sm-3
В следующем примере показано, как создать четыре столбца одинаковой ширины, начиная с планшетов и с масштабированием до
очень большие рабочие столы. На мобильных телефонах или экранах шириной менее 576 пикселей столбцы автоматически складываются в стопку.
друг на друга :
Пример
Попробуй сам »
Два неравных отзывчивых столбца
В следующем примере показано, как получить два столбца разной ширины, начиная с
планшеты и масштабирование до больших дополнительных рабочих столов:
Пример
Попробуй сам »
Совет: Вы узнаете больше о сетках Bootstrap 4 позже в этом руководстве.
Bootstrap 4 Grid System Учебное пособие и примеры — BootstrapBay
День 1: Bootstrap 4 CDN
День 3: Bootstrap 4 Flex
Здравствуйте и добро пожаловать на второй день Bootstrap 4 🙋🏻 Сегодня мы узнаем о Bootstrap 4 Grid, что это такое и как вы можете его использовать.
Система сеток Bootstrap 4 используется для адаптивных макетов. Адаптивный макет представляет собой выравнивание элементов на странице при разном разрешении. Перед изучением любого другого компонента Bootstrap 4 важно понимать, как использовать сетку.Это потому, что какой бы элемент вы ни выбрали, вам нужно будет разместить его где-нибудь на экране. Давайте начнем!
Фотография предоставлена Animade для его снимка.
Эта статья разбита на следующие части:
Сетка Bootstrap 4 состоит из контейнеров, строк и столбцов. Мы рассмотрим их по очереди и объясним.
Контейнеры начальной загрузки 4
Контейнер Bootstrap 4 — это элемент с классом .контейнер
. Контейнер является корнем сеточной системы Bootstrap 4 и используется для управления шириной макета. Он содержит все элементы на странице. Это означает, что ваша страница должна иметь следующую структуру: сначала тело HTML-страницы, внутри нее вы добавляете контейнер и все остальные элементы внутри контейнера.
...
Простой класс .container
устанавливает ширину макета в зависимости от ширины экрана.Он размещает контент в середине страницы, выравнивая его по горизонтали. Между контейнером Bootstrap 4 и левым и правым краями страницы одинаковое пространство. Файл. Контейнер
масштабируется по ширине по мере того, как ширина экрана сужается до полной ширины на мобильном устройстве. Ширина контейнера определяется внутри библиотеки Bootstrap 4 для каждого размера экрана. Здесь вы можете увидеть точные размеры.
Контейнер полной ширины занимает 100% размера экрана независимо от ширины экрана.Чтобы использовать его, вам нужно добавить класс. контейнер для жидкости
. Чтобы увидеть различия между двумя типами контейнеров, вы можете открыть следующее перо в консоли и переключаться между размерами экрана.
См. Контейнер Pen Bootstrap 4 от cristina (@cristinaconacel) на CodePen.dark
Привет! Я в простой таре.Привет! Я в контейнере полной ширины.
Bootstrap, 4 строки
Bootstrap 4 строки — это горизонтальные части экрана.Они используются только как обертки для столбцов. Для их использования вам понадобится класс .row
.
...
Они используются только для столбцов. Если вы поместите другие элементы внутри строки вместе со столбцами, вы не получите ожидаемого результата.
Их нужно размещать в контейнерах. Контейнеры могут содержать любой элемент, но строка должна быть помещена внутри контейнера. Если вы этого не сделаете, на вашей странице появится горизонтальная прокрутка.Это происходит из-за того, что строки имеют отрицательное левое и правое поля 15. Контейнер имеет отступы 15 пикселей, поэтому он противодействует полям.
Столбцы должны быть дочерними по отношению к строке. В противном случае они не выровняются. Строки и столбцы созданы для совместной работы в этой строгой иерархии.
Bootstrap 4 столбца
Основные колонны
См. Основные столбцы Pen Bootstrap 4 от cristina (@cristinaconacel) на CodePen.dark
Теперь мы можем перейти к самой приятной части этого руководства — столбцам Bootstrap 4.Колонки молодцы! Они помогают разделить экран по горизонтали. Если вы разместите один столбец в своей строке, он займет всю ширину. Если вы добавите две колонки, каждая из них будет занимать 1/2 ширины. И так для любого количества столбцов.
.....................
Примечание: Столбцы не окрашены. Я просто добавил цвета, чтобы описание было более привлекательным / чтобы они выглядели красиво.
Установочные размеры
Использование класса .col
динамически устанавливает с для столбца. Это означает, что в зависимости от количества столбцов в строке ширина столбца будет равна ширине контейнера, деленной на количество столбцов.
Но есть и другой способ определения столбцов. Вы можете использовать классы для столбцов и определять их размер. По умолчанию сетка Bootstrap 4 состоит из 12 столбцов. Вы можете выбрать любой размер от 1 до 12 для своей колонки. Если вам нужно 3 равных столбца, вы можете использовать .col-4
для каждого из них (потому что 3 * 4 столбца каждый = 12). Или вы можете установить для них разные размеры. Вот несколько примеров:
См. Статью «Pen Bootstrap 4 Columns with S sizes» от cristina (@cristinaconacel) на CodePen.dark
........................
Если сумма столбцов в строке не достигает 12, то они не заполняют всю строку. И если он превышает 12, он перейдет к следующей строке (он будет отображать только сумму первых элементов <= 12 в первой строке).
Установка точек останова
Если вы возьмете приведенный выше пример и захотите отобразить его на мобильном устройстве, вы можете столкнуться с некоторыми проблемами. Отображение 5 столбцов на мобильном устройстве сделает контент нечитаемым. Здесь вступает в игру один из самых мощных компонентов Bootstrap 4. Чтобы иметь разные макеты на разных экранах, вам не нужно писать медиа-запросы, вместо этого вы можете использовать точки останова в столбцах.
Допустим, вы хотите отобразить, например, 2 столбца один за другим по вертикали на маленьких экранах и в одной строке на экранах большего размера.Вам нужно будет указать точку останова, в которой столбцы идут в одной строке.
В нашем примере мы хотим, чтобы столбцы располагались горизонтально, начиная с портативного компьютера. Точка останова для разрешения ноутбука — .col-lg
. Если вы откроете Codepen в другом окне и увидите страницу с более высоким разрешением, вы увидите, что столбцы выровнены по горизонтали.
См. Статью «Pen Bootstrap 4 Columns with Breakpoints» от cristina (@cristinaconacel) на CodePen.dark
Точка останова для ноутбуков — .Кольцо-LG
. Код этого примера выглядит так:
......
Если вы хотите, чтобы 2 столбца располагались в одной строке, начиная с больших мобильных телефонов (> = 576 пикселей), вы должны использовать. col-sm
, для планшетов (> = 768 пикселей). col-md
и для очень больших экранов (> = 1200 пикселей). цвет-xl
.
Полезно иметь в виду, что до заданной точки останова ваши столбцы будут выровнены по вертикали.Это один из примеров того, что Bootstrap 4 ориентирован прежде всего на мобильные устройства. Стиль по умолчанию предназначен для мобильных устройств, и вам, в частности, нужно написать, как будет работать для больших экранов. И для разрешений, превышающих вашу точку останова, они будут выровнены по горизонтали.
Установка размеров и точек останова
Вы можете комбинировать размеры и точки останова и использовать один класс с форматом .col- [точка останова] - [размер]
. Например, если вы хотите, чтобы 3 столбца разного размера выровнялись в строке, начиная с разрешения ноутбука, вам необходимо сделать это:
.........
И результат будет выглядеть так:
См. Раздел Pen Bootstrap 4 Columns с размерами и точками останова от cristina (@cristinaconacel) на CodePen.dark
Но что, если вы хотите отображать 1 столбец в строке на мобильных устройствах, 2 столбца в строке на планшетах и 4, начиная с ноутбуков? Затем вы добавляете несколько классов для одного столбца, чтобы описать поведение для каждого разрешения.Используя несколько классов, вы указываете, что контент будет занимать 6 слотов на планшетах и 3 на ноутбуках. Результат будет таким:
См. Статью «Pen Bootstrap 4 Columns with Multiple Breakpoints» от cristina (@cristinaconacel) на CodePen.dark
Откройте CodePen на экранах разных размеров, чтобы увидеть различия. И вот код, стоящий за ним:
............
В качестве упражнения вы можете попробовать создать строки с разным количеством столбцов в зависимости от размера экрана. Вы можете форкнуть CodePen выше и посмотреть его поведение в консоли браузера.
Колонны смещения
Если вы не хотите, чтобы столбцы располагались рядом друг с другом, можно использовать класс .offset- [точка останова] - [размер]
вместе с .col- [точка останова] - [размер]
. Использование этого класса аналогично добавлению пустого столбца перед столбцом.Вот простой пример:
См. Pen Bootstrap 4 Offsetting Columns от cristina (@cristinaconacel) на CodePen.dark
......
Вы можете использовать класс в любом столбце строки. Вот еще несколько примеров:
См. Pen Bootstrap 4 Offsetting Multiple Columns от cristina (@cristinaconacel) на CodePen.dark
...............
Вложенные столбцы
Это может показаться неожиданным, но вы можете добавить строку внутри столбца. Эта строка (которая будет иметь ширину своего родительского столбца) будет затем разделена на 12 (меньших) столбцов, на которые вы можете ссылаться через .col- *
классы. Давайте посмотрим, что происходит, когда мы добавляем новую строку в столбец:
См. Pen Bootstrap 4 Nesting Columns от cristina (@cristinaconacel) на CodePen.dark
............
На этом завершаются базовые знания о системе адаптивных сеток Bootstrap 4.Это очень важный момент, когда вы учитесь адаптивно проектировать. Если есть вопросы, пишите в комментариях, буду рад ответить. Надеюсь, вы отметите свое достижение
🙂
Фотография предоставлена Йонасом Мосессоном за его снимок.
Дальнейшее чтение и наблюдение
День 1: Bootstrap 4 CDN
День 3: Bootstrap 4 Flex
Поделиться — это забота!
Bootstrap 4 | Grid System
Bootstrap Grid System позволяет размещать до 12 столбцов на странице.Вы можете использовать каждый из них по отдельности или объединить их для получения более широких столбцов. Могут использоваться все комбинации значений, суммирующие до 12.
Классы сетки: Система сеток начальной загрузки содержит пять классов, которые перечислены ниже:
- .col- Он используется для устройств с очень маленьким экраном (ширина экрана менее 576 пикселей).
- .col-sm- Используется для устройств с маленьким экраном (ширина экрана больше или равна 576 пикселей).
- .col-md- Используется для устройств среднего размера (ширина экрана больше или равна 768 пикселей).
- .col-lg- Используется для устройств с большим размером экрана (ширина экрана больше или равна 992 пикселей).
- .col-xl- Используется для устройств с размером экрана xlarge (ширина экрана не менее 1200 пикселей).
Компоненты грид-системы:
- Контейнеры: Для начальной загрузки требуется содержащий элемент для обертывания содержимого сайта в грид-системе.Слово , контейнер , используется для содержания элементов строки и элементов строки, содержащих элементы столбца.
- Ряды: Ряды должны быть помещены в контейнер или контейнер для жидкости для надлежащего выравнивания и заполнения. Строки используются для создания горизонтальных групп столбцов.
- Столбцы: Столбцы сетки создаются путем указания количества двенадцати доступных столбцов, которые вы хотите охватить. Например, три равных столбца будут использовать три столбца col-lg-4.
Пример 1: В этом примере используется бутстрап для создания сетки столбцов одинаковой ширины на всех устройствах и экранах.
Вывод:
Пример 2: В этом примере используется бутстрап для создания адаптивной сетки столбцов одинаковой ширины. Когда размер экрана меньше 576 пикселей, столбцы автоматически накладываются друг на друга.
Вывод:
- Запуск на большом экране (рабочий стол, планшеты):
- Запуск на маленьком экране (мобильный):
Пример 3: В этом примере используется бутстрап для создания гибкой сетки столбцов неравной ширины.Когда размер экрана меньше 576 пикселей, столбцы автоматически накладываются друг на друга.
Вывод:
- Запуск на большом экране (рабочий стол, планшеты):
- Запуск на маленьком экране (мобильный):
Поддерживаемый браузер:
- Google Chrome
- Internet Explorer
- Firefox
- Opera
- Safari
bootstrap-4-grid — npm
Bootstrap v4.4.1 сеточная система и утилиты компоновки.
Что входит
Почему?
Вот что вы получите, что Bootstrap 4 в настоящее время не предоставляет из коробки:
Если вам не нужно ничего из вышеперечисленного, Bootstrap 4 уже включает версию только для сетки с ее
Пакет Bootstrap CSS и JS.
Как использовать
файлов Sass и CSS готовы к использованию в вашем проекте.
CSS
Довольно просто.
Просто получите css / grid.min.css
или css / grid.css
и добавьте его в свой проект.
Sass
Вам нужно будет включить в свой проект все содержимое папки scss
.
Затем просто импортируйте grid.scss
в файл sass вашего проекта.
НПМ
npm установить bootstrap-4-grid
Пряжа
пряжа добавить бутстрап-4-сетка
Поддержка браузера
Мы используем autoprefixer для добавления префиксов к файлам css
.
По умолчанию поддерживаются последние 2 версии для каждого основного браузера.Чтобы изменить это, выполните настройку
инструкции ниже.
ПРИМЕЧАНИЕ. Файлы Sass не содержат никаких префиксов браузера. Если вы включите их в свой проект,
вам нужно будет использовать свой собственный инструмент css для добавления префиксов для разных браузеров. Если вы используете
Angular CLI, тогда autoprefixer
включен по умолчанию
и тебе не о чем беспокоиться.
Параметры сети
Параметры сетки находятся в файле scss / grid.scss
.Если вы собираетесь использовать файлы sass в
ваш проект, достаточно их изменить. Если вы собираетесь использовать файлы CSS, вам необходимо:
измените параметры, а затем скомпилируйте. Дополнительные сведения см. В приведенных ниже инструкциях по настройке.
ПРИМЕЧАНИЕ: Если вы используете файлы sass и не хотите, чтобы ваши параметры были переопределены обновлением,
затем скопируйте и вставьте параметры в свой собственный файл sass и включите их перед файлом сетки
.
Настройка
Вы можете откатить собственную сборку и / или изменить поддержку браузера.
Требования
Затем установите зависимости:
npm установить
Изменить поддержку браузера
Чтобы изменить поддержку браузера по умолчанию (последние 2 версии на данный момент), вам необходимо сначала изменить запрос
в файле browserlist
, расположенном в корне этого проекта. Узнать больше о
поддерживаемые запросы.
Затем запустите:
grunt браузер
Изменить параметры сетки
Открыть scss / grid.scss
и измените параметры по умолчанию.
Затем запустите:
хрюканье
Bootstrap 4 Grid examples и Flex Grid System Tutorial 2021
Самым важным элементом любого CSS-фреймворка является сетка. Сетка Bootstrap 4 используется на многих веб-сайтах по всему миру, что делает ее чрезвычайно стабильной. Эта кроссбраузерная поддержка — вот почему вы, вероятно, подумываете об использовании Bootstrap для своего веб-сайта (это было для меня). В этом посте я предоставлю обзор сетки и приведу примеры, которые помогут вам быстро применить ее к своим проектам.
Разделы
Вы раньше использовали Bootstrap?
Если вы использовали предыдущую версию Bootstrap, основными изменениями являются добавление нового уровня сетки xl и переход на flexbox вместо float. Название уровня сетки xl подразумевает размещение в нем больших экранов, но на самом деле все наоборот. Bootstrap 4 добавляет еще один маленький размер экрана и сдвигает все вправо. Эта новая точка останова поможет дать больше контроля маленьким экранам.
Прежде чем вы начнете, вам нужно знать, какой набор веб-браузеров вы собираетесь поддерживать.Это определит, какие браузеры вы будете активно тестировать, потому что большой процент ваших пользователей будет использовать один из этих браузеров.
Какие версии Internet Explorer вам нужно поддерживать?
Итак, как узнать, какие браузеры поддерживать? Если вы изменяете дизайн существующего сайта, я предлагаю посмотреть в Google Analytics, чтобы узнать, какой браузер использует большинство посетителей вашего сайта. Поищите тенденции, чтобы определить, удаляете ли вы поддержку старого браузера, потому что он быстро сокращается.
Если у вас нет аналитики для работы, я предлагаю взглянуть на StatCounter, чтобы увидеть самые популярные браузеры в вашей стране. Но по моему опыту, лучше всего иметь четкое представление о вашем идеальном посетителе сайта. Поскольку существует множество факторов, такие инструменты, как StatCounter, не учитываются. Одна из них — это корпоративные среды, которые медленно обновляются до новых браузеров. Например, на моем рабочем месте сейчас установлена Windows 7 с IE8.
После того, как у вас есть данные и некоторые предположения, следуйте этому небольшому дереву решений, чтобы определить, какую версию Bootstrap вам следует использовать.
Таблица выбора версии начальной загрузки
Что такое Flexbox и чем он отличается от Float?
В Bootstrap 3 и на большинстве веб-сайтов единственным способом создания макетов с несколькими столбцами было задание ширины столбцов и использование числа с плавающей запятой. Затем на мобильном устройстве вы просто удалите свойство float и width, чтобы оно превратилось в один столбец.
Демонстрирует, как сетка flexbox регулирует высоту соседних столбцов, а сетка с плавающей запятой — нет. Вверху: плавающие колонны; Внизу: столбцы Flexbox
Теперь с помощью flexbox или гибкого блока вы сможете создавать сложные макеты сетки с большим контролем и гибкостью для адаптации макета при изменении области просмотра.Если вы знакомы с отношениями UL и LI, flexbox очень похож на то, как он имеет подпункты или элементы flexbox внутри родительского контейнера-оболочки. Но поскольку flexbox является свойством отображения, он может применяться к любым родительским и дочерним элементам HTML и не имеет собственного элемента HTML, такого как
.
Одна из самых интересных особенностей flexbox — это то, как он выполняет вертикальное выравнивание.
Имейте в виду, Bootstrap — это CSS-фреймворк, основанный на базовом языке CSS.Таким образом, flexbox — это основная технология CSS, которую Bootstrap использует для макета сетки, а не компонент, созданный Bootstrap. Поэтому полезно знать основы работы с flexbox на случай, если вам нужно что-то переопределить.
Bootstrap 4 Книга
и шаблоны для начинающих
Учитесь, шаг за шагом создавая панель администратора CMS и маркетинговую домашнюю страницу.
Купить сейчас
12 Column Bootstrap 4 Flexbox Grid
Итак, теперь, когда вы понимаете flexbox и почему он лучше float для макета, давайте посмотрим, как Bootstrap использует его для своей системы сеток.
Система сеток Bootstrap основана на сетке из 12 столбцов, потому что число 12 делится на 12, 6, 4, 3, 2. Таким образом, размеры столбцов внутри каждой строки должны быть равны 12. Эта математика делает сетку более гибкой для широкий выбор макетов.
Примеры общей сетки:
- Сетка с двумя столбцами
.col-sm-6 + .col-sm-6 = 12
- Сетка с двумя столбцами с золотым сечением
.col-sm-8 + .col-sm-4 = 12
- Сетка из трех столбцов
.col-sm-4 + .col-sm-4 + .col-sm-4 = 12
Я создал эту ручку, в которой есть набор общих структур сетки, которые помогут вам визуализировать, как их построить.
Система сеток Bootstrap состоит из 3 основных частей: CRC
При работе с сеткой из 12 столбцов Bootstrap вы должны помнить о порядке элементов и о том, что всегда есть три части: контейнер C, и R ow. , и любое количество столбцов C . CRC.
Если вы хотите, чтобы все содержимое вашей страницы было ограничено максимальной шириной, вам просто понадобится один .контейнер
на всю страницу. Затем используйте серию блоков строк с разделителями столбцов для построения вашей сетки. Если в вашем дизайне нет горизонтальных цветовых полос, вы можете установить .container в тег body. Однако существует тенденция иметь горизонтальные цвета фона с максимальным значением ширины содержимого. Я добиваюсь этого эффекта с помощью тега раздела с установленным для него цветом фона.
Знакомы со структурой таблицы HTML? Система сеток Bootstrap 4 очень похожа.
Например:
table> tr> td
похоже на .container> .row> .col-sm-6
Container — .container
или .container-fluid
Это родительский контейнер, который определяет, должны ли столбцы быть во всю ширину или нет.
Row — .row
Горизонтальный упаковочный контейнер для ряда содержащихся в нем столбцов. По сути, он очищает плавающие столбцы.
Столбец — .col - * - *
Столбец представляет собой вертикальное деление, подобное ячейке таблицы.Здесь находится ваш контент, и здесь есть встроенные поля слева и справа, чтобы текст и изображения не касались друг друга. В сетке по умолчанию используются плавающие блоки div для создания горизонтальных столбцов.
Столбцы также имеют ярусы сетки, которые сообщают столбцам, как они должны выглядеть в различных точках останова. В приведенном ниже примере я использовал .col-sm-6
, который, по сути, говорит: «Когда размер окна браузера 576 пикселей или выше, сделайте этот столбец охватывающим 6 из 12 столбцов. Для всего, что меньше 576 пикселей, сделайте его полной шириной.«Итак, когда вы объявляете уровень сетки, вы говорите, что он должен быть такого размера для указанного уровня и выше .
Bootstrap 4 Breakpoints
xs = Очень маленький <576px
sm = Маленький ≥576px
md = Средний ≥768px
lg = Большой ≥992px
xl = Очень большой ≥1200px
Bootstrap Примеры сеток
Примеры сеток, показывающих разницу между классами .container и container-fluid
Как насчет вложения столбцов в Bootstrap 4?
Вы можете добиться вложенности столбцов, добавив.строка и столбцы внутри другого столбца. Прочтите документацию для дальнейших примеров.
Посмотреть демонстрацию Codepen
Сводка
Что ж, теперь вы должны хорошо разбираться в системе CSS Grid в Bootstrap 4 и быть уверены, что сможете использовать ее в своем следующем проекте. Он чрезвычайно настраиваемый и помогает более эффективно создавать макет страницы.
Ключевые точки
- Используется сетка из 12 столбцов, количество столбцов должно равняться 12
- CRC —
.container> .row> .col - * - *
- Большинству проектов потребуется только один .container, если вы не хотите делать цветные полосы строк
- Установка уровня сетки, например
.col-sm-6
говорит для см и вверх - Столбцы имеют горизонтальное заполнение для создания промежутков между отдельными столбцами, однако вы можете удалить поля из строк и заполнение столбцов с помощью
.no-gutters
в строке .row. - Столбцы сетки без установленной ширины автоматически будут иметь одинаковую ширину.
Это отрывок из моего краткого руководства по Bootstrap 4, где вы можете узнать, как создать адаптивную домашнюю страницу и панель администратора с помощью Bootstrap 4.
Bootstrap 4 Grid System с примерами и пояснениями
Вы можете создавать любые типы адаптивных макетов, используя систему сеток Bootstrap 4. Он построен на основе flexbox для создания системы из 12 столбцов для изменения размера дизайна для всех типов размеров экрана.
Существует множество предопределенных классов для создания макета для любого типа экрана.
Системные классы сетки в Bootstrap 4
В Bootstrap 4 есть 5 классов сеток, которые можно использовать и создавать с помощью системы сеток из 12 столбцов. Классы сеток приведены ниже:
-
.col
(новое из Bootstrap 4) -
.col-sm-
-
.col-md-
-
.col-lg-
-
.col-xl-
(новое из Bootstrap 4)
.col
предназначен для устройств очень небольшого размера, таких как мобильные телефоны с размером экрана менее 576 пикселей, .col-sm-
предназначен для устройств небольшого размера, таких как мобильные телефоны с размером экрана более 576 пикселей, .col-md-
— для устройств среднего размера, таких как планшет с размером экрана более 768 пикселей, .col-lg-
предназначен для устройств большого размера, таких как рабочий стол с размером экрана более 992 пикселей, .col-xl-
предназначен для очень больших устройств, таких как настольные компьютеры с размером экрана более 1200 пикселей.
Размеров сетки в Bootstrap 4
В таблице показаны различные размеры сеточной системы Bootstrap для всех типов устройств в Bootstrap 4, как показано ниже:
Очень маленький > 576px | Маленький ≥576px | Средний ≥768px | Большой ≥992px | Очень большой ≥1200px | |
---|---|---|---|---|---|
Макс.ширина контейнера | Нет (авто) | 540px | 720px | 960px | 1140px |
Префикс класса | .col | .col-sm- | .col-md- | .col-lg- | .col-xl- |
Количество столбцов | 12 | ||||
Ширина желоба | 30 пикселей (по 15 пикселей с каждой стороны столбца) | ||||
Nestable | Есть | ||||
Колонка для заказа | Есть |
В приведенной выше таблице показано, что если вы хотите определить другой размер для всех размеров экрана, вам необходимо добавить все указанные выше классы в элемент
Если вы используете один класс в элементе
.col-
, он будет применен ко всем экранам большего размера, если вы не используете другие классы сетки .col- sm-
, .col-md-
, .col-lg-
и .col-xl-
Точно так же, если вы используете небольшой класс сетки .col-sm-
, он будет применен ко всему большему размеру экрана, но не к меньшему размеру экрана, если вы не используете другие классы сетки .col-
, .col-md-
, .col-lg-
и .col-xl-
. Столбцы с дополнительным размером экрана расположены горизонтально.
Как использовать указанную выше систему сетки для создания строк и столбцов
Чтобы создать макет с использованием вышеуказанной системы сеток Bootstrap 4, вы должны использовать элемент
.container
и .row
внутри него. После этого вы можете использовать вышеуказанный класс системы сетки .col - * - *
, как показано в примере ниже: Первый столбец Второй столбец |
Давайте узнаем больше способов с более живыми примерами, приведенными ниже.
Колонны с автоматической компоновкой и одинаковой шириной
Для создания столбцов одинаковой ширины для всех размеров экрана. Для создания столбцов одинаковой ширины не требуется указывать номера столбцов. Вы должны использовать .col
класс Bootstrap 4 для создания столбцов того же размера.
Используйте .col
класс один раз для макета с одним столбцом, два раза для двух столбцов, три раза для трех столбцов и так далее. См. Пример, приведенный ниже, для создания столбцов такого же размера:
Автоматическая компоновка в две колонки
Для автоматической компоновки с двумя столбцами требуется два .col
, чтобы создать два столбца одинакового размера для всех размеров экрана. В приведенном ниже примере создается автоматический макет из двух столбцов:
Проверить это вживую
Первый столбец Второй столбец |
Трехколоночная автоматическая компоновка
Для автоматической компоновки с тремя столбцами требуется три .col
, которые создают три столбца одинакового размера для всех размеров экрана. См. Пример ниже, показывающий автоматическую раскладку из трех столбцов.
Проверить это вживую
Первая колонка Вторая колонка Третья колонка |
Вы можете проверить макет с помощью кнопки «Проверить вживую», указанной выше.
Автоматическая компоновка столбцов с разрывами строк
Если вы хотите создать столбцы с автоматической компоновкой с разрывами строк, вы должны использовать класс .w-100
для того места, где вы хотите разбить столбцы на следующую строку.
Пример ниже содержит шесть классов .col
и класс разрыва строки .w-100
после двух .col
и после него трех классов .col
, как показано ниже:
Проверить это вживую
Первый столбец Второй столбец Первый столбец div> Второй столбец Третий столбец Первый столбец |
Установить ширину одного столбца с автоматическим макетом другого столбца
С помощью системы автоматического макета вы также можете установить ширину любых столбцов по вашему выбору, добавляя числа к столбцам.Число означает, что вы можете использовать любой из вариантов сетки, например .col-
, .col-sm-
и другие сетки более высокого уровня, как показано ниже:
Проверить это вживую
.col-sm-6
) Первый столбец Второй столбец ( .col-sm-6 ) Третий столбец |
В приведенном выше примере три столбца, ширина второго столбца задается с помощью .col-sm-6
. Это устанавливает ширину для маленьких и более высоких устройств, но не для сверхмалых устройств. Вы можете протестировать приведенный выше пример вживую, чтобы проверить результат.
Переменная ширина столбца в зависимости от размера содержимого
Переменная ширина столбца полезна, когда вы хотите установить размер столбца в соответствии с естественным размером содержимого.Вы должны использовать Bootstrap 4 class .col- {breakpoint} -auto
, как показано ниже:
Проверить это вживую
Первый столбец В соответствии с размером содержимого Третий столбец div > |
В приведенном выше примере устанавливается переменная ширина столбца для точки останова для небольших устройств, которая также применяется к устройствам большего размера, но не к сверхмалому размеру экрана.Вы можете протестировать размер приведенного выше примера и изменить размер экрана, чтобы убедиться, что он работает на экранах разных размеров.
Сделайте систему сетки Bootstrap 4 одинаковой для всех точек останова (от сверхмалых до очень больших устройств)
Вы можете создать столбцы, которые будут работать со всеми точками останова для всех размеров устройств, как показано в примерах ниже.
Столбцы одинакового размера
Если вы хотите установить столбцы одинакового размера для всех точек останова, вы должны использовать Bootstrap 4 class .col
.Сколько раз вы используете класс .col
, такое же количество столбцов вы получите в выводе для всех точек останова, как указано ниже:
Проверить это вживую
col col col div> |
Столбцы заданного размера
Вы также можете указать размер столбца, одинаковый для всех точек останова или размера экрана.Чтобы установить указанный размер, вы должны использовать класс .col- *
, как показано в примере ниже:
Проверить это вживую
col-3 col-6 col-3 div> |
Горизонтально на малой точке останова
Чтобы сделать столбцы горизонтальными для небольших точек останова, необходимо использовать класс .col-sm- *
. Указанный размер подходит для устройств малого и большего размера, но не для устройств сверхмалого размера.
Проверить это вживую
col-sm-4 col-sm-3 col-sm-5 div> |
Все столбцы конвертируются в горизонтальные, когда вы тестируете приведенный выше пример вживую.Вы можете изменить размер экрана, чтобы проверить результат в браузере.
Вы также можете использовать .col-sm
, чтобы установить тот же размер столбца для маленьких и больших экранов. После достижения небольшой точки останова он становится горизонтальным для сверхмалого размера устройства.
Проверить это вживую
col-sm col-sm col-sm div> |
Сочетание разных классов
Вы можете добавить столбцы сетки разного размера, чтобы столбцы были одинаковыми для всех точек останова.В приведенном ниже примере используются столбцы сетки .col- *
и .col- {breakpoint} - *
, чтобы сделать столбцы одинаковыми для указанных точек останова.
Проверить это вживую
col-6 col-sm-4 col-md-8 col-lg-4 col-6 col-sm-4 col-md-4 col-lg-8 col-12 col-sm-4 col-md-6 col-lg-4 < / div> |
В приведенном выше примере используется .col- *
, .col-sm- *
, .col-md- *
и .col-lg- *
. Вы можете протестировать его вживую и изменить размер своего браузера, чтобы проверить результат для различных точек останова с указанной комбинацией.
Столбцы строк для быстрой установки количества столбцов
Столбцы строки полезны для быстрой установки количества столбцов в строке. Вы должны использовать .row-cols- *
с классом .row
, который определяет столбцы.
При указании .row-cols-2
с .row
, это означает, что вы настроили отображение двух столбцов в каждой строке, как показано ниже:
Проверить это вживую
col col col col col |
В приведенном выше примере используется .col
в столбцы одинакового размера с количеством столбцов, установленным в начале. Однако вы также можете использовать другие столбцы сетки точек останова, пример которых приведен ниже после следующего примера.
Для быстрого создания трех столбцов необходимо указать .row-cols-3
с .row
. В приведенном ниже примере используется то же количество столбцов, что и в приведенном выше примере.
Проверить это вживую
col col col col col |
В приведенном выше примере используется тот же .col
для создания столбцов одинакового размера для всех точек останова. Столбцы строк — это самый простой способ разбить столбцы на один указанный макет, который вы можете протестировать в реальном времени выше.
В дополнение ко всем столбцам строк в Bootstrap 4, вы также можете указать столбцы строк в соответствии с точками останова. Чтобы указать точки останова, вы должны использовать класс .row-cols- {breakpoint} - *
с классом .row
, как показано ниже:
Проверить это вживую
col col col col col |
Вы можете протестировать приведенный выше пример в реальном времени и изменить размер браузера, чтобы проверить, что столбцы строк изменяются в соответствии с указанными точками останова.
Выравнивание колонн
Bootstrap 4 предоставляет множество полезных классов для простого создания столбцов и выравнивания их по вертикали или горизонтали. Давайте разберемся с классами и примерами, чтобы легче понять метод.
Вертикальное выравнивание колонн
Вертикальное выравнивание полезно для выравнивания строки и столбцов по вертикали в контейнере заданного размера.
Для выравнивания строки, содержащей столбцы сетки, существует три класса Bootstrap 4. Первый класс — align-items-start
для выравнивания строки по верхнему краю, .align-items-center
для выравнивания строки по центру, .align-items-end
для выравнивания столбцов по краю контейнера, как показано ниже:
Проверить это вживую
1 2 3 4 5 6 7 8 9 10 11 12 13 14 14 | Первый столбец 1-й строки 2-й столбец 1-й строки 3-й столбец 1-й строки 2-я строка, первый столбец 2-я строка, второй столбец 2-я строка, третий столбец 3-я строка, первый столбец 3-я строка, второй столбец 3-я строка, третий столбец |
Вы можете протестировать приведенный выше пример вживую, чтобы проверить выравнивание строк, содержащих столбцы сетки.
Помимо выравнивания строк, вы также можете выровнять столбцы с помощью классов выравнивания Bootstrap. Класс .align-self-start
выравнивает столбец по верхнему положению, .align-self-center
выравнивает столбец по центру, .align-self-end
выравнивает столбец по конечному положению контейнер.
Проверить это вживую
первый столбец второй столбец третий столбец |
Когда вы протестируете приведенный выше пример вживую, вы увидите, что результат показывает, что столбцы выровнены по вертикали в соответствии с заданным положением столбца.
Горизонтальное выравнивание колонн
Горизонтальное выравнивание столбцов полезно для выравнивания столбцов по горизонтали. Вы можете использовать класс .justify-content-start
для перемещения столбцов по горизонтали в левую позицию, .justify-content-center
для перемещения столбцов по горизонтали в центральное положение, .justify-content-end
для перемещения столбцы по горизонтали в правильное положение.
Проверить это вживую
Первый столбец 1-й строки 2-й столбец 1-й строки < div> 2-я строка, первый столбец 2-я строка, второй столбец 3-я строка, первый столбец < div> 3-я строка, второй столбец |
Вы можете протестировать приведенный выше пример вживую, чтобы проверить горизонтальное выравнивание на выходе.
Есть еще два класса для выравнивания столбцов по горизонтали. Вы можете использовать класс .justify-content-around
для размещения столбцов сетки с половинным размером на обоих концах. Вы также можете использовать .justify-content-between
, чтобы разместить первый столбец слева в начале, а второй столбец — справа в конце.
Проверить это вживую
Первый столбец 1-й строки 2-й столбец 1-й строки < div> 2-я строка, первый столбец 2-я строка, второй столбец |
Поведение столбцов при переносе
Столбцы в ряду работают в соответствии с 12 столбцами сетки.Когда размер столбца увеличивает сетку из 12 столбцов, он переходит к следующей строке в Bootstrap. Давайте выясним это поведение упаковки на примере, приведенном ниже:
Проверить это вживую
col-6 col-3 col-4 col-8 |
В приведенном выше примере первый столбец занимает 6 столбцов, второй столбец занимает 3 столбца, третий столбец увеличивает 12 столбцов сетки, которые перемещают его в следующую строку, которую вы можете протестировать в реальном времени выше.
Изменение порядка столбцов
Вы можете изменить порядок столбцов сетки, чтобы установить требуемый порядок столбцов в строке. Это может быть полезно для установки правильной последовательности столбцов для отображения во внешнем интерфейсе в соответствии с вашими требованиями. Вы должны использовать класс переупорядочения .order- *
для управления порядком столбцов в 12 сеточной системе, как показано ниже.
Проверить это вживую
Первый столбец, но неупорядоченный Второй столбец, но последний Третий столбец, кроме второго div> |
В приведенном выше примере используется класс повторного заказа .order-3
изменяет порядок вторых столбцов, чтобы сделать его последним. Он также добавил класс .order-1
, чтобы переместить его во вторую позицию столбца.
Вы также можете использовать класс order-first
, чтобы переместить столбец в первую позицию, и класс .order-last
, чтобы переместить столбец в последнюю позицию в контейнере.
Проверить это вживую
первый столбец, но последний второй столбец, но неупорядоченный последний столбец, но первый div> |
В приведенном выше примере используются два класса, которые можно протестировать в реальном времени, чтобы проверить результат переупорядочения столбцов.
Смещение колонн
Смещение столбцов в Bootstrap — полезный процесс для перемещения столбцов в правое положение с некоторым увеличением левого поля. Смещение использует числа для увеличения левого поля над 12 столбцами.
Вы должны использовать класс .offset- {breakpoint} - *
(например, .offset-sm- *
, .offset-md- *
и .offset-xl- *
), чтобы установить левое поле для столбцов, как показано ниже:
Проверить это вживую
col-md-3 col-md-6 offset-md-3 col-md-6 offset-md-6 col-md-2 col-md-2 offset-md-2 col-md-3 offset-md-3 |
В приведенном выше примере устанавливается смещение для устройств среднего размера, которое также работает для устройств большего размера, но не работает для устройств меньшего размера.Вы можете протестировать пример вживую, чтобы увидеть результат смещения, увеличивающего левое поле.
Вы также можете установить смещение с помощью служебных классов маржи .ml-auto
для размещения столбца в конце, .mr-auto
для размещения после столбца в конце и .ml- {breakpoint} -auto
, чтобы поместить столбец в конец в соответствии с указанной точкой останова.
Проверить это вживую
col-md-3 col-md-4 ml-auto < div> col-auto mr-auto col-auto col-md-3 ml-sm-auto col-md-4 ml-sm-auto |
Вложенная система Bootstrap с 4 столбцами сетки
Вы также можете размещать столбцы сетки внутри других столбцов сетки в Bootstrap 4.Это снова требует столбцов сетки внутри класса .row
для создания вложенных столбцов. Вложенный столбец также должен быть столбцом сетки из 12, который нужно разместить в строке, как показано ниже:
Проверить это вживую
1-й уровень col-md-4 1-й уровень col-md-8 2-й уровень col-md-6 2-й уровень col-md-6 div > |
В приведенном выше примере создается вложенный столбец внутри столбца сетки .Кол-мд-8
.
Я надеюсь, что это руководство поможет вам изучить систему сеток Bootstrap 4.
Следующая глава ➔ Bootstrap 4 Типография >>
Похожие сообщения
Понимание системы Bootstrap 4 Grid
Bootstrap • Кодирование Sam Norton • 4 ноября 2015 г. • 8 минут ПРОЧИТАТЬ
Системы
Grid позволяют нам правильно организовать контент веб-сайта. Разделение экрана на несколько строк и столбцов — лучший способ создать множество макетов для любого типа веб-сайта.
Ищете онлайн-конструктор Bootstrap?
Сетка
Bootstrap имеет разделение на столбцы — до 12 в каждой строке. Ширина каждого столбца зависит от размера экрана, на котором они отображаются. Сетки Bootstrap адаптивны, и каждая строка может сворачиваться в определенных точках останова или может плавно отображаться в разных окнах просмотра.
Bootstrap позволяет пользователям создавать огромное количество строк в зависимости от дизайна веб-сайта. В Bootstrap 4 мы работаем в единицах rem и em вместо пикселей.Хотя некоторые из названий классов остались, есть новый уровень -sm , добавленный для улучшенных целевых мобильных устройств.
В этой статье мы погрузимся в систему сеток Bootstrap 4. Вы узнаете, как работает система сеток и как вы можете использовать ее на своем веб-сайте или в проекте. В конце этой статьи мы создадим несколько примеров макетов веб-сайтов, чтобы лучше понять их.
Видеоурок
Конструктор шаблонов электронной почты в Интернете
С Postcards вы можете создавать и редактировать шаблоны электронных писем онлайн без каких-либо навыков программирования! Включает более 100 компонентов, которые помогут вам создавать собственные шаблоны писем быстрее, чем когда-либо прежде.
Попробуйте бесплатноДругие продукты
Необходимые ресурсы:
- min.css (мы будем использовать ссылку CDN)
- Базовые знания HTML и CSS
- Время и терпение
Создание базовой сетки
Мы собираемся создать базовый макет сетки, используя систему сеток Bootstrap. Во-первых, вам нужно создать файл index.html и скопировать и вставить базовую разметку ниже.
Базовая система сетки
Чтобы создать простой макет, создайте div с контейнером класса .Поместите все строки и столбцы внутри этого контейнера , чтобы они правильно разместились на экране. Контейнер бывает двух типов: :
.
- контейнер — для фиксированной ширины (без дополнительного места с обеих сторон)
- контейнер для жидкости — для жидкости на всю ширину (жидкоподобные решетки)
В нашей демонстрации мы будем использовать контейнер фиксированной ширины . Давайте продолжим и создадим контейнер на нашей HTML-странице:
Затем мы создадим внутри контейнера row class.Как только строка определена, мы можем приступить к созданию столбцов. Вы можете разместить ряд строк внутри контейнера .
Совет: Для улучшения результатов рекомендуется иметь один контейнер со всеми строками внутри, чтобы обернуть все и расположить элементы по центру на экране.
Теперь поговорим о столбцах. Столбцы начальной загрузки можно создать, указав класс col и его размеры префикса, добавив шкалу 12.
Bootstrap 4 имеет пять типов префиксов классов для создания столбцов для дисплеев разного размера:
- col-xs для очень маленького дисплея (ширина экрана менее 34em)
- col-sm для меньшего дисплея (ширина экрана 34em и выше)
- col-md для среднего дисплея (ширина экрана 48em и выше)
- col-lg для большего дисплея (ширина экрана 62em и выше)
- col-xl для очень большого дисплея (ширина экрана 75em и выше)
Допустим, мы хотим иметь только один столбец.Он должен охватывать все двенадцать доступных столбцов Bootstrap. Таким образом, мы можем использовать класс col-xs-12 , где число 12 указывает количество столбцов для охвата.
В качестве примера давайте создадим три столбца одинаковой ширины в строке, мы будем использовать класс col-xs-4 для каждого из них. Это сообщает Bootstrap, что нам нужны три столбца, охватывающие шесть столбцов Bootstrap. Ознакомьтесь с приведенным ниже кодом.
Примечание: Я добавил в нашу разметку собственный класс col-1 , col-2 , col-3 , чтобы столбцы выбирали соответствующий им стиль CSS.
Столбец 1
Столбец 2
Столбец 3
Чтобы было понятно, как работают эти столбцы, давайте дадим каждому настраиваемому классу цвет фона. Давайте добавим несколько внутренних стилей в наш раздел головы. Добавьте следующие стили непосредственно перед закрывающим тегом .
<стиль> .col-1 { фон: # 3498db; } .col-2 { фон: # 2ecc71; } .col-3 { фон: # e74c3c; }
С приведенным выше кодом вы увидите точно такой же результат, как показано ниже.
В нашем коде выше мы указываем класс col-sm-4 , это означает, что элемент должен охватывать все три сетки (добавляя до 12 столбцов) для каждого из доступных столбцов Bootstrap на маленьких экранах.
Так что это просто, но что, если мы хотим, чтобы это велось по-другому на больших экранах?
В приведенном выше коде мы не указали, как div должен охватывать большие типы экранов. По умолчанию Bootstrap автоматически настроит макет для большего размера экрана. Давайте посмотрим на код ниже.
Столбец 1
Столбец 2
Столбец 3
В приведенном выше коде мы установили класс col-lg-12 для большего дисплея (ширина экрана 62em и выше) и класс col-sm-4 для меньшего экрана (ширина экрана 34em и выше).
Это означает, что на небольших экранах каждый столбец будет иметь три столбца Bootstrap, а на больших экранах они будут занимать макет из 12 столбцов. Смотрите результат ниже.
Настройка сеток для разных экранов
В этом разделе давайте посмотрим, как мы можем создать гибкий макет для настольных компьютеров, планшетов и мобильных устройств. Наш окончательный результат будет похож на это изображение.
В нашем выходном изображении мы помещаем заголовок в центр экрана, а затем настраиваем макет из четырех столбцов, содержащий фиктивный текст.Посмотрим, как это будет выглядеть на экранах разных размеров.
Настольный
Планшет
Смартфон
Как вы можете видеть на нашем рабочем столе, у нас есть четыре столбца, в то время как есть два столбца в режиме планшета и один столбец для мобильного просмотра.
Начало работы
Сначала создадим новый HTML-файл с именем grids_view.html . Затем мы разместим нашу базовую разметку ниже. Не волнуйтесь, это практически та же разметка, которую мы использовали в нашем первом примере.Здесь ничего особенного.
Настройка сеток для разных экранов <стиль> / * Здесь находятся ваши стили * /
Вид рабочего стола
Настольные дисплеи в основном больше 1080 пикселей.В этой части мы будем использовать класс с префиксом col-md- * to для наших столбцов на экранах рабочего стола.
Вы также можете использовать префикс col-lg- * и col-xl- * . В конце концов, это не оказывает никакого дополнительного влияния на макет для больших дисплеев, размер которых превышает 1200 пикселей.
Давайте сначала создадим контейнер div и класс строки. Затем внутри него мы создадим восемь столбцов с классом col-md-3 . Внутри каждого столбца мы просто установим тег h4, текст и ссылку.Давайте не забудем добавить раздел заголовка для нашего, а затем разместить col-md-12 class, чтобы развернуть его по всему экрану.
Ознакомьтесь с приведенным ниже кодом.
<заголовок>4-х сеточная система Bootstrap
Насколько это гибко?
Классный заголовок 1
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium.. Подробнее & rarr;Классный заголовок 2
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium .. Подробнее & rarr;Классный заголовок 3
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium.. Подробнее & rarr;Классный заголовок 4
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium .. Подробнее & rarr;Классный заголовок 5
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium.. Подробнее & rarr;Классный заголовок 6
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium .. Подробнее & rarr;Классный заголовок 7
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium.. Подробнее & rarr;Классный заголовок 8
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium .. Подробнее & rarr;
Добавьте собственные стили, чтобы сделать наши сетки немного презентабельными. Это просто основные исправления.
тело{ семейство шрифтов: 'Lato', без засечек; фон: # f7f7f4; } .text-center { выравнивание текста: центр; маржа: 1,25 бэр 0; нижняя граница: сплошной 1px #dadada; заполнение: 1,25 бэр 0; } .col-md-3 { маржа: 1,25 бэр 0; } @media screen и (max-width: 34em) { .col-sm-6 { левое поле: 1,25 бэр; } }
Результат будет выглядеть точно так же, как на рабочем столе. Теперь поработаем с представлением на планшете.
Просмотр для планшета
Добавьте дополнительный код к приведенному выше коду, чтобы получить макет для планшетов.В отличие от настольных компьютеров, планшеты могут отображать столбцы в книжной или альбомной ориентации. Пейзажный вид может быть достигнут с помощью классов col-md- * , но для портрета мы можем использовать классы col-sm- * .
В этой части мы собираемся реализовать двухколоночную компоновку на небольших дисплеях, используя классы col-sm-6 . Нам нужно отобразить столбец, чтобы он охватил столбцы Bootstrap, чтобы оставшиеся столбцы просто отображались в следующих строках. Скопируйте и вставьте код ниже.
Примечание: Результат кода ниже будет выглядеть точно так же, как изображение планшета выше.
<заголовок>4-х сеточная система Bootstrap
Насколько это гибко?
Классный заголовок 1
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium .. Подробнее & rarr;Классный заголовок 2
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium.. Подробнее & rarr;Классный заголовок 3
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium .. Подробнее & rarr;Классный заголовок 4
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium.. Подробнее & rarr;Классный заголовок 5
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium .. Подробнее & rarr;Классный заголовок 6
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium.. Подробнее & rarr;Классный заголовок 7
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium .. Подробнее & rarr;Классный заголовок 8
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium.. Подробнее & rarr;Mobile View
Для мобильного просмотра можно использовать col-xs-12 class. В альбомной ориентации на мобильных устройствах используются дисплеи небольшого размера, и для нее можно использовать классы col-sm- * , а для портретной ориентации — класс col-xs- * .
Так как это фактически уменьшенная версия наших сеток, мы будем отображать по одному столбцу в строке.Ознакомьтесь с приведенным ниже кодом.
<заголовок>4-х сеточная система Bootstrap
Насколько это гибко?
Классный заголовок 1
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium .. Подробнее & rarr;Классный заголовок 2
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium.. Подробнее & rarr;Классный заголовок 3
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium .. Подробнее & rarr;Классный заголовок 4
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium.. Подробнее & rarr;Классный заголовок 5
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium .. Подробнее & rarr;Классный заголовок 6
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium.. Подробнее & rarr;Классный заголовок 7
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium .. Подробнее & rarr;Классный заголовок 8
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium.. Подробнее & rarr;Проверьте результат этого кода на изображении iPhone выше.
Колонны смещения
В Bootstrap 4 вы можете перемещать столбцы вправо с помощью класса offset- * . Это одна из замечательных особенностей начальной загрузки, поскольку она увеличивает левое поле столбца.
Например, если у вас есть столбец, который вы хотите сместить или просто сделать пробел внутри, вы можете просто использовать эту функцию.
Есть четыре класса, которые вы можете использовать для смещения в Bootstrap:
- col-xs-offset — *
- col-sm-offset — *
- col-md-offset — *
- col-lg-offset — *
В качестве примера предположим, что мы хотим переместить четыре столбца вправо на маленьком экране. Для этого можно использовать col-sm-offset-4 . См. Код ниже.
Столбец 1
Столбец 2
Столбец 3
Результат кода выше выглядит как это изображение.
Совет: Если вы хотите центрировать div и сместить трехколоночный зазор слева, также будет трехколоночный зазор справа от другого столбца. Это один из лучших способов центрировать столбец шириной 50 процентов в центре экрана
Вложенные столбцы
Bootstrap предлагает функцию, в которой вы можете вкладывать свой контент в сетку по умолчанию. Создав новую строку в существующем столбце, вы можете заполнить эту строку некоторыми настраиваемыми столбцами, которые также могут охватывать столбец с 12 масштабами и ограничены шириной его родительского элемента.
Давайте посмотрим на это в действии.
Столбец 1
Колонка 4
Колонка 5
Колонка 6
Колонка 2
Как вы можете, внутри первого столбца мы создали новую строку и добавили три дополнительных класса col-sm-3 .Это означает, что у нас будет три дополнительных столбца внутри первого столбца.
Итак, приведенный выше код выведет изображение ниже.
Изменение порядка столбцов
Классы упорядочения столбцов позволяют нам изменять порядок нашей системы сетки на основе. Это позволит нам иметь другой вид на большом экране, а затем другой вид на экране мобильного телефона.
Для этого нам нужно использовать классы col-column size-pull- * и col-column size-push- * для перемещения столбца влево и вправо.
Здесь вы можете использовать четыре класса:
- col-xs-pull- * и col-xs-push- * для очень маленьких экранов
- col-sm-pull- * и col-sm-push- * для небольших экранов
- col-md-pull- * и col-md-push- * для средних экранов
- col-lg-pull- * и col-lg-push- * для больших экранов
Приведем пример. Например, мы создадим два столбца: col-md-4 и col-md-8 .См. Код ниже.
КОЛОННА-1
КОЛОННА-2
Вот как это будет выглядеть в нашем браузере:
Как видите, у нас есть две колонки.
Теперь сдвинем первый столбец вправо на экранах среднего размера на восемь столбцов и сдвинем столбец два влево на четыре столбца на экранах среднего размера.См. Код ниже.
КОЛОННА-1
КОЛОННА-2
С помощью приведенного выше кода мы успешно сдвинули первый столбец вправо, а второй столбец — влево. Итак, наш код будет выглядеть так на средних экранах.
Заключение
Сетка по умолчанию в Bootstrap 4 использует 12 столбцов, которые могут помочь вам создать любой вид макета веб-сайта в зависимости от дизайна.