Bootstrap - Колонки: Создание адаптивных макетов с легкостью

Здравствуйте,野心勃勃ые веб-разработчики! Сегодня мы погрузимся в одну из самых мощных функций Bootstrap: колонки. Как ваш доброжелательный соседский компьютерный учитель, я рад помочь вам в этом путешествии. Поверьте мне, к концу этого руководства вы будете создавать адаптивные макеты, как профи!

Bootstrap - Columns

Как это работает

Прежде чем мы углубимся в детали, давайте поймем основы. Сеточная система Bootstrap основана на 12-колоночной разметке. Представьте себе, что вы делятесь пиццей на 12 кусочков - вы можете съесть их все сами (одна полная колонка) или поделиться с друзьями (множество колонок).

Вот простой пример, чтобы начать:

<div class="container">
<div class="row">
<div class="col-sm-4">Колонка 1</div>
<div class="col-sm-4">Колонка 2</div>
<div class="col-sm-4">Колонка 3</div>
</div>
</div>

В этом примере мы создали три одинаковые по ширине колонки на малых экранах и выше. Класс col-sm-4 означает "занимать 4 из 12 колонок на малых экранах". Это как если бы вы сказали: "Дайте мне, пожалуйста, 4 кусочка из той 12-кусочной пиццы!"

Выравнивание

Теперь, когда у нас есть колонки, давайте научимся их выравнивать. Это как arranging furniture в комнате - вы хотите, чтобы все выглядело идеально!

Вертикальное выравнивание

Для вертикального выравнивания колонок мы используем классы на строке:

<div class="container">
<div class="row align-items-start">
<div class="col">Вверху</div>
<div class="col">Вверху</div>
<div class="col">Вверху</div>
</div>
<div class="row align-items-center">
<div class="col">Посередине</div>
<div class="col">Посередине</div>
<div class="col">Посередине</div>
</div>
<div class="row align-items-end">
<div class="col">Внизу</div>
<div class="col">Внизу</div>
<div class="col">Внизу</div>
</div>
</div>

Здесь мы используем align-items-start, align-items-center и align-items-end, чтобы выровнять наши колонки вверху, по центру и внизу строки соответственно.

Горизонтальное выравнивание

Для горизонтального выравнивания мы используем классы justify-content:

<div class="container">
<div class="row justify-content-start">
<div class="col-4">Один</div>
<div class="col-4">Два</div>
</div>
<div class="row justify-content-center">
<div class="col-4">Один</div>
<div class="col-4">Два</div>
</div>
<div class="row justify-content-end">
<div class="col-4">Один</div>
<div class="col-4">Два</div>
</div>
</div>

Эти классы (justify-content-start, justify-content-center, justify-content-end) выравнивают наши колонки слева, по центру и справа контейнера.

Перенос колонок

Иногда у вас может быть больше 12 единиц колонок в строке. Не волнуйтесь, Bootstrap всегда поможет вам! Он автоматически перенесет лишние колонки на новую строку:

<div class="container">
<div class="row">
<div class="col-9">Колонка 1</div>
<div class="col-4">Колонка 2</div>
<div class="col-6">Колонка 3</div>
</div>
</div>

В этом примере 9 + 4 = 13, что больше 12, поэтому вторая колонка переносятся на новую строку.

Разрывы колонок

Но что, если вы хотите принудительно начать новую строку? Введите разрыв колонки:

<div class="container">
<div class="row">
<div class="col-6 col-sm-3">.col-6 .col-sm-3</div>
<div class="col-6 col-sm-3">.col-6 .col-sm-3</div>
<div class="w-100"></div>
<div class="col-6 col-sm-3">.col-6 .col-sm-3</div>
<div class="col-6 col-sm-3">.col-6 .col-sm-3</div>
</div>
</div>

Элемент <div class="w-100"></div> создает разрыв шириной 100%, принудительноbeginning следующую колонку с новой строки.

Переназначение

Классы заказа

Bootstrap позволяет вам изменять визуальный порядок ваших колонок:

<div class="container">
<div class="row">
<div class="col order-3">Первый, но последний</div>
<div class="col order-2">Второй, но второй</div>
<div class="col order-1">Третий, но первый</div>
</div>
</div>

Классы order- определяют порядок колонок. Это как если бы ваши колонки играли в musical chairs!

Отступы колонок

Классы отступов

Иногда вам может понадобиться добавить немного места перед колонкой. Вот где на помощь приходят классы отступов:

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

Класс offset-md-4 добавляет отступ слева, эквивалентный 4 колонкам, pushing нашу вторую колонку вправо.

Очистка колонок на адаптивных точках останова

По мере того как ваш макет изменяется на разных размерах экранов, вам может потребоваться清除浮动ные колонки:

<div class="container">
<div class="row">
<div class="col-6 col-sm-3">.col-6 .col-sm-3</div>
<div class="col-6 col-sm-3">.col-6 .col-sm-3</div>
<div class="w-100 d-none d-md-block"></div>
<div class="col-6 col-sm-3">.col-6 .col-sm-3</div>
<div class="col-6 col-sm-3">.col-6 .col-sm-3</div>
</div>
</div>

Здесь d-none d-md-block прячет разрыв на малых экранах, но показывает его на средних экранах и выше.

Утилиты отступов

Bootstrap предоставляет утилиты для быстрой корректировки отступов:

<div class="container">
<div class="row">
<div class="col-md-4">.col-md-4</div>
<div class="col-md-4 ml-auto">.col-md-4 .ml-auto</div>
</div>
</div>

Класс ml-auto pushing вторую колонку вправо, автоматически корректируя левый отступ.

Независимые классы колонок

Наконец, вы можете использовать классы колонок без оберток строки для большей гибкости:

<div class="container">
<div class="col-3 bg-light p-3 border">
.col-3: ширина 25%
</div>
<div class="col-sm-9 bg-light p-3 border">
.col-sm-9: ширина 75% выше точки останова sm
</div>
</div>

Этот подход дает вам больше контроля над вашим макетом, особенно для сложных дизайнов.

И вот и все,folks! Вы только что узнали все о колонках Bootstrap. Помните, что практика делает мастера, так что не бойтесь экспериментировать с этими концепциями. Вскоре вы будете создавать адаптивные макеты, которые заставят даже самых опытных веб-разработчиков завидовать!

Вот quick reference table классов колонок, которые мы рассмотрели:

Класс Описание
col-* Основной класс колонки (* может быть 1-12)
col-sm-* Колонка для малых экранов и выше
col-md-* Колонка для средних экранов и выше
col-lg-* Колонка для больших экранов и выше
col-xl-* Колонка для extra больших экранов
offset-- Отступ колонки (* может быть sm, md, lg, xl)
order-* Переназначение колонок (* может быть 1-12)

Счастливого кодирования, и пусть ваши макеты всегда будут адаптивными!

Credits: Image by storyset