Донецкий техникум промышленной автоматики

Bootstrap 3 і 4: які відмінності?

На етапі верстки завжди важливо мати під рукою хороший інструмент, який значно прискорить процес розробки, буде гнучким, легко настроюється і дозволить з легкістю створити макет. Він повинен дати можливості легко створювати сторінки, які добре відображаються на десктопах і мобільних пристроях. Що ж, нам пощастило, адже у нас є Bootstrap. Ось тільки на даний момент існує 2 актуальні версії - Bootstrap 3 і Bootstrap 4. У чому ж різниця і скільки разів використовувати? Це ми зараз і з'ясуємо. Англійську версія статті bootstrap 3 vs 4 .

Обидві версії є потужний CSS-фреймворк для створення адаптивних сторінок, який включає себе:
-многоколоночную адаптивну сітку;
-Готові елементи за типом навігації, кнопок, дропдаунов і т.д;
-Набір службових класів для управління поведінкою елементів;
-reset або normalize;
-Настройка друкарні в шаблоні;
-медіаоб'екти;
-деякі JS-плагіни (Carousel, Modal і так далі);
-і багато іншого.

Але, незважаючи на практично ідентичний набір компонентів і утиліт, існують величезні відмінності.

Перше, що кидається в очі, це те, що вихідний код Bootstrap 4 написаний не на Less, а на Sass. І це величезний плюс, як на мене. Адже не дарма Sass визнаний самим використовуваним СSS-препроцесором (особисто для мене код, написаний на ньому, більш читаємо і зрозумілий, та й функціонал трохи виграє у конкурентів).

Також варто відзначити, що сітка Bootstrap 3 побудована тільки на float'aх, в той час як Bootstap 4 пропонує нам вибрати між float ... .і Flexbox! Так, це сталося. Уявіть собі, що в 4-ій версії у вас відпадає проблема вирівнювання по вертикалі і проблема колонок однакової висоти. Це лише мізер, який може нам запропонувати розмітка, побудована на Flexbox'ах.

Змінюйте вертикальне і горизонтальне вирівнювання на різних девайсах з допомогою службових утиліт і класів, таких як: align-item-center, align-items-md-center, align-items-lg-start і так далі. Міняйте порядок ваших колонок, використовуючи flex-unordered, flex-last, flex-first! Використовуйте mr-auto, ml-auto, які притиснуть ваш елемент вправо або вліво, відповідно.

А як на рахунок колонок однакової ширини без вказівки явно позначених номерів класів? Дуже легко! Всередині вашого row просто розмістіть стільки div c класом col, скільки колонок однакової ширини вам потрібно. Припустимо, ваша сітка має наступний вигляд:

<Div class = "row">

<Div class = "col"> 1 </ div>

<Div class = "col"> 2 </ div>

<Div class = "col"> 3 </ div>

</ Div>

Результатом буде 3 колонки однакової ширини на всіх пристроях.

Такої можливості в третій версії не було. Вражає, чи не так? Крім цього є можливість створення колонок, що змінюють свою ширину по ширині вмісту. Для цього потрібно скористатися наступним класом - col-md-auto (замість md підставити потрібний брейкпоінт).

Що ж стосується медіа запитів, то і тут бере гору нова версія. Адже тепер у нас є можливість більш гнучко підійти до стилізації сторінки на різних девайсах. А все тому, що тепер в системі сіток присутні наступні брейкпоінт:

extra large (> = 1200px)

large (> = 992px)

medium (> = 768px)

sm (> = 576px)

xs (

У bootstrap 3 цих брейкпоинтов було всього 4 і це часом створювало деякі проблеми при розмітці на маленьких планшетах і телефонах з величезним екраном.

Варто зазначити, що не всі елементи в Bootstrap 4 мають властивість display: flex. Якщо є необхідність зробити елемент flex, то слід скористатися утилітою display. Наприклад, додати клас .d-flex, .d-inline-flex, або ж .d-sm-flex, коли потрібно застосувати утиліту тільки для девайсів категорії sm і вище. Для елемента з класом .d-flex існує свій набір flex-утиліт, за допомогою яких можна змінювати вісь контейнера, змінювати порядок на зворотний, вирівнювати елементи всередині контейнера і т.д. . До них належать: flex-row, flex-row-reverse, .flex-column, .flex-column-reverse, .flex-sm-row, .justify-content-start, .justify-content-start, .justify- content-sm-start та інші варіації на основі всіх властивостей.

Що ж, я привів лише основні відмінності і в дуже короткій формі. Але їх набагато більше: чого варто тільки розділ друкарні з поліпшеною системою відступів для різних елементів (p, ul і т.д). Щоб повністю ознайомитися з усіма нововведеннями, я раджу відкрити офіційну документацію, за допомогою якої ви тут же знайдете відповіді на всі ваші запитання. Після цього качайте Bootstrap 4 собі і пробуйте на особистому досвіді. Можливо ви запитаєте: а як же підтримка Flexbox браузерами? Я можу використовувати нову версію фреймворку в продакшені? І відповідь - звичайно ж так! Підтримка чудова, всі сучасні браузери підтримують дану технологію, тільки не варто забувати про Вендорний префіксах. Bootstrap 4 добре підходить для розробки як маленьких сайтів, так і великих кріптовалютних бірж .

Підводячи підсумок, можна сказати, що 4-а версія набагато випереджає попередника. Саме її я раджу використовувати на ваших проектах, адже дуже важливо йти в ногу з часом і при розробці вашого продукту використовувати тільки нові, якісні та актуальні інструменти. На даний момент Bootstrap 4 перейшов в стадію бета-тестування, а офіційний реліз заплановано на 2018 рік. Чекаємо з нетерпінням! Створюйте сучасні і адаптивні макети разом з Bootstrap!

4. У чому ж різниця і скільки разів використовувати?
А як на рахунок колонок однакової ширини без вказівки явно позначених номерів класів?
Вражає, чи не так?
Можливо ви запитаєте: а як же підтримка Flexbox браузерами?
Я можу використовувати нову версію фреймворку в продакшені?