- Только через переменные прописываем:
- цвета
- скругления углов
- ширину бокового меню
- ширину контента страницы
- максимальную ширину страницы
- Переменные добавляются в селектор :root в самом начале css-файла.
- Переменные группируются по смыслу.
Например:- цвета с макета
- размеры элементов
- ...
- Семантика имён переменных должна быть аналогичной семантике переменных с макета.
Например: если на макете цвет называется "Highlighted text", то в коде должна быть переменная --highlighted-text. - Переменные добавляются в селекторы с помощью var(--variable-name).
-
Порядок селекторов: от менее специфичных к более специфичным.
Порядок селекторов в коде:- универсальный (*)
- по элементам (html, body, div, p, ...)
- более специфичные по элементам (html body p, table > tbody, ...)
- с классами (.class-name)
- с айдишниками (#id-name)
Исключение: если стайлим элемент, до которого можно добраться только с помощью псевдоклассов и вложенности элементов, но который является частью какого-то большого элемента (таблицы, блока, кнопки, ...), то его располагаем в коде согласно группировке селекторов.
-
Группировка селекторов: селекторы, которые стайлят части одного элемента (блока, таблицы, кнопки, ...) должны находиться рядом друг с другом.
-
Селекторы по классам пишем в формате элемент.класс.
Например: если хотим стайлить таблицу с классом common, пишем селектор table.common. -
Осторожно поступаем с малозначимыми и абстрактными именами классов (span12, row, common, ...).
Они могут быть у несвязанных между собой элементов на разных страницах. -
Очень осторожно поступаем с селекторами только по элементам (body, div, p, ...) и по псевдоклассам (:nth-child(), ...).
Обязательно сразу проверяем, не стайлят ли такие селекторы элементы на других страницах. Таких селекторов лучше избегать. Если не получается, обсуждаем решение этой проблемы с командой. -
Как можно чаще проверяем, не стайлим ли мы что-то лишнее.
Как минимум на страницах:- Мой учебный план (кратко)
- Мое расписание
- Мои оценки (оценки за сессии, оценки в триместре, итоговый рейтинг за триместр, оценки в диплом)
- Пропущенные занятия
-
В каждом стиле используем !important.
-
Отделяем табами !important от самих стилей, чтобы код легче было читать.
-
Вместо px по максимуму используем rem.
У нас:- 0.5rem = 5px
- 1rem = 10px
- 1.5rem = 15px
- 2rem = 20px
- …
1rem = значение font-size в селекторе html. Коммитить изменение font-size в html без ведома команды нельзя.
- Перед каждым селектором оставляем комментарий: какие именно элементы страницы вы хотели стайлить этим селектором. Например: /* Текст тела карточки преподавателя */
- Перед большими блоками, по которым группируются селекторы, оставляем заметные комментарии (капс + 4 звёздочки вместо 1).
Например: /**** БОКОВОЕ МЕНЮ ****/