І навіть колиВіталька був ще маленьким
І плакав не від агропошуку і гульпу, а від
того що пропустив мультики=(
4.
fron-end розробники мирнособі верстали кожен як міг і навіть не
підозрювали що колись їм доведеться думати про якусь там
“МЕТОДОЛОГІЮ” і “АРХІТЕКТУРУ CSS”
5.
Методологія
- це підхіду розробці, що дозволяє швидко створювати
сайти з гнучкою та маштабованою архітектурою.
● Розробляти типовісайти швидко;
● Проект повинен жити довго та легко маштабуватись;
● Потрібно вміти легко маштабувати команду(на проекті може
працювати як 1 людина так і 10);
● Всередині команди повинні бути чіткі зони відповідальності;
● Код повинен використовуватись повторно.
BEM
БЛОК МОДИФІКАТОРЕЛЕМЕНТ
може використовуватись
удекількох місцях на
сторінці
є частиною блоку і не
може існувати, поза
контекстом блоку
являє собою властивість
блоку або елементу, що
змінює його поведінку
10.
Основні поняття
● БЕМсутність
● Мікс
● БЕМ дерево
● Реалізація блоку
● Технологія реалізації блоку
● Перевизначення блоку
● Рівень перевизначення блоку
Блок
назва блока задаєтьсяпо схемі block-name і створює простір імен для
створення елментів
{блок}
елемент
елемент
елемент елемент
елемент
13.
Елемент
- це частинаблоку яка самостійно існувати не може, проте може вміщати в
собі інші блоки
- задається по схемі block-name__element-name
14.
Модифікатор
- простір імензаданий блоком визначає відповідність модифікатора до
певного блоку, або елементу
- модифікатор не може існувати самостійно
- задається по схемі
block-name_modific-name
block-name_modific-key_modific-value
block-name__elem-name_modific-name
block-name__elem-name_modific-key_modific-value
Base
- базові стиліщо застосовуються на сторінці, переважно стосується HTML
тегів, базовими стилями являються стилі які не змінюються в залежності від
розташування елемента на сторінці на від їхнього стану, до базових стилів
можна віднести вендорні стилі.
18.
Layout
- стилі якіописують структуру HTML сторінки та розміщення блоків на
сторінці, автор рекомендує для Layout стилів використовувати префікс l-,
layout- для кращого орієнтування в коді
19.
Module
- блоки щоможуть багаторазово використовуватись на сторінці, можуть
містити елементи та підкласи(модифікатори) для задання особливих
стилів в залежності від розташування модуля.
- для назви підкласу та елементу модуля прийнято використовувати в
якості префікса клас модуля.
20.
State
- стилі стану,в цьому розділі описуються стилі стану окремих модулів та
скилету сайту(layout)
- для створення класу стану прийнято використовувати префікс is- для
виділення його серед інших стилів
- для стану який може бути задіяний лише до окремого модуля клас із цим
станом прийнято починати з префіксом moduleName-, та поміщати його у
файл модуля а не файл із загальними станами.