Bootstrap 4. Контейнер и сетка. Часть 3
19.06.2019
Теги: Bootstrap • CSS • HTML • Web-разработка • Верстка • Фреймворк • ШаблонСайта
Изменение порядка следования
По умолчанию адаптивные блоки визуально отображаются в том порядке, в котором они расположены в HTML коде. Изменить визуальный порядок следования адаптивного блока выполняется посредством класса order-{1…12}
. Этот класс предназначен xs
устройств. Для изменения порядка для sm
, md
, lg
или xl
используется класс order-{sm…xl}-{1…12}
.
Число от 1 до 12 определяет то, как элементы будут визуально следовать на странице. А именно — все адаптивные элементы будут визуально следовать в порядке возрастания этих номеров. Если элементу не установлен класс order
, то по умолчанию он имеет значение 0.
<div class="container"> <div class="row"> <div class="col"> <strong>Первый</strong>, нулевой порядок, будет первым. </div> <div class="col order-12"> <strong>Второй</strong>, но будет отображаться последним. </div> <div class="col order-1"> <strong>Третий</strong>, но будет отображаться вторым. </div> </div> </div>
Ещё один пример — с использованием адаптивных классов order
. На устройствах xs
и sm
визуальный порядок порядок следования будет таким же, как в HTML коде. А на устройствах md
и выше — первым будет Sidebar left
, вторым — Page contrnt
, а третьим — Sidebar right
.
<div class="container"> <div class="row"> <div class="col-md-6 order-md-2"> Page content </div> <div class="col-md-3 order-md-1"> Sidebar left </div> <div class="col-md-3 order-md-3"> Sidebar right </div> </div> </div>
Классы order-first
и order-{sm…xl}-first
оказывают своё действие посредством установки элементу CSS свойства order
в значение -1. А классы order-last
и order-{sm…xl}-last
— в значение 13. Поэтому предыдущий пример можно сделать проще:
<div class="container"> <div class="row"> <div class="col-md-6"> Page content </div> <div class="col-md-3 order-md-first"> Sidebar left </div> <div class="col-md-3"> Sidebar right </div> </div> </div>
Смещение адаптивных блоков
Смещение с использованием классов offset
Классы offset
предназначены для смещения адаптивных блоков вправо на определённое количество колонок. Данные классы имеют следующий синтаксис — offset-{1…12}
или offset-{sm…xl}-{1…12}
.
<div class="container"> <div class="row"> <div class="col-4">1</div> <div class="col-4 offset-4">2</div> </div> <div class="row"> <div class="col-3 offset-3">1</div> <div class="col-3 offset-3">2</div> </div> <div class="row"> <div class="col-6 offset-3">1</div> </div> </div>
Смещение с использованием классов margin
В четвертой версии Bootstrap устанавливать смещение адаптивным блокам также можно с помощью margin
отступов (margin-left:auto
или margin-right:auto
). Данный вариант смещения используют, когда блоки необходимо сместить относительно друг от друга на которую переменную величину. Классы margin
отступов имеют вид ml-auto
, mr-auto
, ml-{sm…xl}-auto
и mr-{sm…xl}-auto
.
<div class="container"> <div class="row"> <div class="col-4">1</div> <div class="col-4 ml-auto">2</div> </div> <div class="row"> <div class="col-3">1</div> <div class="col-3 ml-auto mr-auto">2</div> <div class="col-3">3</div> </div> <div class="row"> <div class="col-4 ml-auto mr-auto">1</div> <div class="col-4 ml-auto mr-auto">2</div> </div> </div>
Классы для margin и padding
Bootstrap 4 включает в себя набор классов, с помощью которых можно легко добавлять к HTML элементам необходимые margin
и padding
отступы. Имена этих классов имеют вид:
{property}{sides}-{size}
дляxs
устройств{property}{sides}-{sm…xl}-{size}
дляsm
и выше
Вместо {property}
необходимо указать первую букву названия отступа, m
– для margin
, p
– для padding
.
Вместо {sides}
необходимо указать сторону:
t
– для задания отступа сверху (top
)b
– для задания отступа снизу (bottom
)l
– для задания отступа слева (left
)r
– для задания отступа справа (right
)x
– для задания отступа слева и справаy
– для задания отступа сверху и снизу
Если {sides}
не указать, то тогда отступ будет установлен для всех 4 сторон элемента.
Вместо {size}
необходимо задать величину отступа – 0
, 1
, 2
, 3
, 4
, 5
или auto
(только для margin
). Значение 1
означает 0.25rem
, значение 2
– 0.5rem
, значение 3
– 1rem
, значение 4
– 1.5rem
, значение 5
– 3rem
.
Примеры использования
Установим HTML-элементу padding-top
, равный 1rem
:
<div class="pt-3"> .......... </div>
Расположим два блока по центру. Для этого первому блоку установим margin-left:auto
с помощью класса ml-auto
, а второму – margin-right:auto
с помощью класса mr-auto
. Кроме этого, дополнительно зададим отступ между блоками, с помощью классов mr-3
и ml-3
.
<div class="container"> <div class="row"> <div class="col-4 ml-auto mr-3 bg-success"> Первый блок </div> <div class="col-4 mr-auto ml-3 bg-danger"> Второй блок </div> </div> </div>
Установим элементу на xs
устройствах margin-bottom
, равный 1.5rem
. Для всех остальных устройств этот margin
уберём.
<div class="mb-4 mb-sm-0"> .......... </div>
Классы для плавающих блоков
<div class="container"> <div class="clearfix"> <button class="btn btn-primary float-left">Кнопка, float:left</button> <button class="btn btn-primary float-right">Кнопка, float:right</button> </div> </div>
Классы для свойства display
Для установки свойства display
используются классы
d-{value}
дляxs
устройствd-{sm…xl}-{value}
дляsm
и выше
Вместо {value}
необходимо указать значение none
, inline
, inline-block
, block
, table
, table-cell
, table-row
, flex
, inline-flex
.
Размер экрана | CSS-класс |
---|---|
Скрывать всегда | .d-none |
Скрывать только на xs |
.d-none .d-sm-block |
Скрывать только на sm |
.d-sm-none .d-md-block |
Скрывать только на md |
.d-md-none .d-lg-block |
Скрывать только на lg |
.d-lg-none .d-xl-block |
Скрывать только на xl |
.d-xl-none |
Показывать всегда | .d-block |
Показывать только на xs |
.d-block .d-sm-none |
Показывать только на sm |
.d-none .d-sm-block .d-md-none |
Показывать только на md |
.d-none .d-md-block .d-lg-none |
Показывать только на lg |
.d-none .d-lg-block .d-xl-none |
Показывать только на xl |
.d-none .d-xl-block |
Классы для свойства overflow
<div class="overflow-auto">.....</div> <div class="overflow-hidden">.....</div>
Классы изображений
/* responsive images */
.img-fluid {
max-width: 100%;
height: auto;
}
/* image thumbnails */
.img-thumbnail {
padding: 0.25rem;
background-color: #fff;
border: 1px solid #dee2e6;
border-radius: 0.25rem;
max-width: 100%;
height: auto;
}
Поиск: Bootstrap • CSS • HTML • Web-разработка • Верстка • Фреймворк • Шаблон сайта