Що таке система сіток ?
Модульна сітка це система розташування всіх елементів і блоків сайту. Це як якийсь каркас, який пронизує всі сторінки сайту і призводить все в візуальний порядок. Насправді існує кілька видів сіток в веб-дизайні:
- Блокова сітка - це груба розмітка макета за допомогою блоків.
- Колоночная сітка - за основу розмітки беруться колонки, рівні за своїми параметрами.
- Модульна - складається з пересічних прямі (що направляють), які утворюють модулі.
- Ієрархічна - це вид, сітки в якому блоки розташовуються інтуїтивно, без будь-якої логічної структури.
Модульная сітка bootstrap
Сітка зроблена з групування рядків і колонок всередині одного або декількох контейнерів.
Cітки на Bootstrap можуть використовуватися окремо, без Bootstrap JavaScript та інших CSS компонентів. Потрібно тільки завантажити і послатися на "bootstrap-grid.css", який включає в себе flexbox класи і класи для сітки.
Стандартні параметри сітки Bootstrap у форматі PSD:
- Загальна ширина робочої області 1920 px.
- Ширина контейнера з відступами 1170 px.
- Ширина колонки без відступу 68 px.
- Ширина відступу (гатеру) 15 px.
- Система сітки дванадцятиколонкова.
- Відстані між колонками можуть мати похибку - 1,2 px. У зв'язку з тим, що деякі непарні величини не діляться порівну. Але це не критично.
Елементи сітки фреймворків Bootstrap 4
Основними елементами сітки Bootstrap 3 і 4 є:
- обгортковий контейнери - елементи з класом .container або .container-fluid;
- ряди - елемент з класом row, який виконує ще функцію flex-контейнера;
- адаптивні блоки - елементи, з одним або декількома класами col.
Обгортковий контейнер - це перший елемент, з якого починається створення макета сторінки або деякої його самостійної частини. Його основне призначення - це встановити ширину макета, що розробляється .
У Bootstrap 4 є 2 типи контейнера:
1. контейнер .container призначений для створення адаптивно-фіксованого макета з фіксованою шириною, для центрування контейнера по середині шаблону, який масштабується адаптивно по ширині екрану, так що врешті-решт він може стати шириною на весь екран, як і .container-fluid, але на маленьких пристроях.
<div class="container"></div>
Ширина .container (max-width) буде залежати від різних розмірів екрану:
- Extra small <576px - 100%
- Small ≥576px - 540px
- Medium ≥768px - 720px
- Large ≥992px - 960px
- Extra large ≥1200px - 1140px
2. контейнер .container-fluid для створення адаптивно-фіксованого макету характеризується тим, що він має умовно постійну ширину, яка на одних діапазонах viewport браузера має одне значення, а на дугих - інше
<div class="container-fluid"></div>
Ряд row - це теж контейнер, але для адаптивних блоків сітки Bootstrap. У Bootstrap 4 його основна роль - це створити негативні відступи (margin) зліва і справа по 15px і також виконати функцію флекс-контейнера.
Адаптивний блок .col - це елемент, який має адаптивну ширину. Тобто його ширина на одному діапазоні viewport може мати одне значення, а на іншому - інше. Установка поведінки адаптивного блоку здійснюється за допомогою одного або декількох класів col.
Синтаксис класу col:
col- {breakpoint} - {number_columns}
{breakpoint} - це контрольна точка, яка визначає мінімальну ширину viewport, починаючи з якої цей клас буде діяти.
{Number_columns} - це ширина адаптивного блоку, яку він матиме, починаючи з цієї контрольної точки. Вказується ширина адаптивного блоку за допомогою колонок Bootstrap (цілого числа) за замовчуванням від 1 до 12. Це число визначає, яку частину ширини він матиме щодо блоку (елемента «ряд») який його містить. Мінімальна ширина адаптивного блоку - це 1/12 (8.3%), а максимальна - 12/12 (100%).
Адаптивні блоки в Bootstrap розташовуються лініями. В одну лінію можуть поміститися адаптивні блоки з сумарною кількістю колонок Bootstrap за замовчуванням не більше 12. Блоки, які не поміщаються в першу лінію, переносяться на наступну лінію і т.д.
В Bootstrap 4 - п'ять контрольних точок:
- смартфони - без позначення,
- планшети - sm,
- ноутбуки - md,
- десктопи - lg і xl
Контрольні точки наведені в порядку зростання ширини viewport, починаючи з якої вони починають діяти.
Правила сітки:
- В контейнері .container чи .container-fluid розміщуються рядки сітки row.
- Колонки повинні бути прямими нащадками row
- Не можна вставляти контент в рядок сітки row. Контент розміщується в колонках рядка row
- Колонки в рядку row називають класом col
- Клас .row має по замовчуванню display: flex, тому як нащадок в Flexbox, "колонка" в кожному рядку однієї і тієї ж висоти
Найпростіший приклад застосування сітки:
в одну колонку:
div class="container">
<div class="row">
<div class="col">I'm your content inside the grid!</div>
</div>
</div>
в дві колонки:
<div class="container">
<div class="row">
<div class="col">Left column</div>
<div class="col">Right column</div>
</div>
</div>
в три колонки:
<div class="container">
<div class="row">
<div class="col">Left column</div>
<div class="col">Center column</div>
<div class="col">Right column</div>
</div>
</div>
Властивості колонок сітки:
- створюють горизонтальні розділителі по в'юпорту
- можуть мати різну ширину
- мають розкладку горизонтальну зліва направо і зверху вниз
- мають однокову висоту з спорідненими колонками в тому ж рядку
- можуть рости і змешуватись по ширині
Класична сітка Bootstrap має 12 колонок:
колонки можуть бути рівномірно розподілені на 12 частин. Ось приклад, 6 колонок (12/6 = 2):
Основні правила створення макета за допомогою елементів сітки Bootstrap
- створити основні секції (наприклад: header, main, footer);
- створити всередині кожної секції обгортковий контейнер;
- помістити всередину кожного обгортковий контейнера, розмітку яких необхідно провести за допомогою адаптивних блоків, елЗавдання №емент «ряд»;
- створити всередині кожного ряду необхідну структуру за допомогою адаптивних блоків;
- помістити всередину необхідних адаптивних блоків, розмітку яких необхідно провести за допомогою адаптивних блоків, елемент «ряд»;
- виконати пункт 5;
- виконувати пункти 6 та 7 до тих пір, поки не буде досягнута необхідна структура створюваного макета.
Завдання №1
Замінити клас "container" таким чином, щоб div розтягнувся на всю довжину. Використовуйте призначений клас для контейнерів Bootstrap 4. Решта коду залиште без змін.
See the Pen container-bs-exercises by kravets (@raisa69) on CodePen.
Завдання №2
See the Pen col-bs4-exersize by kravets (@raisa69) on CodePen.