У frontend-разработчиков есть боль:
1. Огромные CSS файлы
2. Невозможно переиспользовать код
3. Сложности поддержки проектов
4. Склеивание и минификация файлов
5. Префиксы для css3
6. Работа со спрайтами
7. Невозможность использовать новые фичи javasccript
И мы хотим поговорить об этом
2. 2
Боль
1. Огромные CSS файлы
2. Невозможно переиспользовать код
3. Сложности поддержки проектов
4. Склеивание и минификация файлов
5. Префиксы для css3
6. Работа со спрайтами
7. Невозможность использовать новые фичи javasccript
22. 22grunt-contrib-watch
Отслеживает изменения файлов и запускает нужные задачи
https://github.com/gruntjs/grunt-contrib-watch
Определяем отслеживание
изменения LESS файлов
и запускаем необходимые
задачи
27. 27
Еще раз вспомним для чего это все нужно
1. Огромные CSS файлы
2. Невозможно переиспользовать код
3. Сложности поддержки проектов
4. Склеивание и минификация файлов
5. Префиксы для css3
6. Работа со спрайтами
7. Невозможность использовать новые фичи javasccript
29. 29
БЭМ - что это и зачем?
1. Разработчик должен понимать свой код и код любого
программиста в команде БЭМ-проекта.
2. Любой блок кода может быть использован повторно
3. Работая в одной команде, разработчики, менеджеры, дизайнеры
и верстальщики должны называть одни и те же вещи одинаково.
4. Команды могут обмениваться специалистами для реализации
какой-то конкретной функциональности.
5. Порог входа при переходе на новый проект должен быть снижен
за счет одинаковой структуры организации всех БЭМ-проектов и
одинаковых правил именования всех сущностей.
30. 30Структура элемента
Самый высокий уровень абстракции
компонента.
.block
Дочерний элемент .block помогающий
поддерживать его целостность.
.block__element
Другое состояние
или версия .block.
.block--modifier
31. 31БЭМ vs Каскадирование
Специфичность данного
селектора очень велика.
Как обрабатывает «машина» код
в этом случае: сначала все <a>,
потом <a>, вложенные в <li>
и так далее.
«Выравниваем» специфичность
между элементами DOM.
Обработка <a class="top-menu-
item__link">. То есть браузер
сразу же нашел ссылку
по селектору .top-menu-
item__link.