Skip to content

Latest commit

 

History

History
49 lines (32 loc) · 2.64 KB

class-structure-and-naming.md

File metadata and controls

49 lines (32 loc) · 2.64 KB

Структура классов и именование

Организация и архитектура кода может существенно повлиять не только на скорость разработки, но и на скорость отображения страниц.

Правильно спроектированная архитектура CSS-кода и определение того, как разные компоненты будут взаимодействовать друг с другом, может ускорить разработку и производительность приложения.

Объектно-ориентированный CSS (OOCSS)

Принцип объектно-ориентированного CSS впервые описана Николь Салливан в своей работе по написанию стилей для больших сайтов, часть работы которого, легла в основу UpCss.

Объектно-ориентированный CSS определяет два принципа:

  • разделение структуры и оформления;
  • разделение содержимого и контейнера.

Структура модуля должна быть прозрачной, позволяя другим стилям наследоваться и отображаться без конфликтов. Чаще это требует правильной сетки и структуры макета, наряду с хорошо продуманными модулями.

При написании CSS-кода необходимо придерживаться базовых правил:

  • Избегайте присутствия идентификаторов элементов в селекторах.
  • Не следует использовать селекторы потомков.
  • Не следует к селекторам, отбирающим элементы по их имени (к примеру, h2 { … }) добавлять имена классов.
  • Не рекомендуется применять директиву !important.

Пример:

<div class="alert alert-danger alert-round">

</div>
.alert {...}
.alert-danger {...}
.alert-round {...}

Читать дальше про работу с селекторами

Читать рекомендации

Перейти к документации