
Всё, что нужно знать про
CSS

CSS
-
боль и слёзы

CSS - кровь и пот

CSS - страх и отвращение

CSS 2

Очевидные проблемы
Размер
Ситуация 1:

Ситуация 2:

Желание 1
Разработка

Продакшн

Вес Файлов


Неудобная Вложенность

Отсутствие переменных


Нет функций


Тысячи их...
pre-, post-, neo-

Pre-
- LESS
- SASS
- Stylus
Post-
- PostCSS
Прэ-processor SASS

Layouting



main.scss

Вложенность


Переменные

Миксины


PostCSS

Ничего




Советы

Попробуйте SASS
Если вы еще этого не сделали
Не пытайтесь заменить SASS на PostCSS
Особенно на уже существующих проектах
Не перебарщивайте с миксинами в SASS
Или плагинами в PostCSS
Используйте нативные CSS переменные





Используйте HSL


В коде не должно быть !important
пожайлуйста
CSS фреймворки
Тысячи их...







Управление CSS

Блок

Элемент

Модификатор

Файловая структура
-
Один блок — одна директория.
-
Имена блока и его директории совпадают. Например, блок header — директория header/, блок menu — директория menu/.
-
Реализация блока разделяется на отдельные файлы-технологии. Например, header.css, header.js.
-
Директория блока является корневой для поддиректорий соответствующих ему элементов и модификаторов.
-
Имена директорий элементов начинаются с двойного подчеркивания (__). Например, header/__logo/, menu/__item/.
-
Имена директорий модификаторов начинаются с одинарного подчеркивания (_). Например, header/_fixed/, menu/_theme_islands/.
-
Реализации элементов и модификаторов разделяются на отдельные файлы-технологии. Например, header__input.js, header_theme_islands.css.




Разделяем стили на
- Base rules
- Layout rules
- Modules rules
- State rules(!important)
- Theme rules
Performance
1. Минифицируйте
2. Используйте критический CSS

$('style,link[rel="stylesheet"]').remove()
Всё
All You Need to know about CSS
By Artem Nikolaev
All You Need to know about CSS
- 200