Модификаторы имеют большую роль в общем своде правил MCSS, но так же применимы и к другим методологиям, из за чего вынесены в отдельный независимый модуль документации.
Основное предназначение модификатора — дополнять базовые стили и функционал сущности, расширяя или частично переопределяя его особенности.
Модификатор не должен переопределять большую часть базового набора функционала сущности, при возникновении такой ситуации стоит пересмотреть присвоенную роль сущности и принять решение упростить или вынести в самостоятельную единицу (модуль, блок).
Определение модификатора
Представление модификатора обязательно должно определять связь с модифицируемым элементом. Модификатор, без модифицируемого элемента не может существовать в принципе. Связь можно осуществить как вложенностью на файловой системе, так и определением связного ключевого слова:
entity
entity_element
entity__modifier
entity_element__modifier
Что бы наглядно отделить модификатор от других элементов, используется особое правило именования, определяющее специальный разделитель, используемый только в названиях модификаторов — “__“ (двойное подчеркивание).
Подробней почитать о правилах именования и о ключевом слове можно в отдельном модуле отдельном модуле.
В CSS/HTML
Именование
В первой версии синтаксиса MCSS использовалась такая запись модификатора:
С отбросом поддержки IE6 появилась возможность описывать модификатор в более читабельном виде, относительно HTML.
Наглядные пример удобства второго подхода:
Чем больше модификаторов, тем больше пользы от нового типа записи:
Стоит заметить, что во втором варианте незначительно увеличивается каскадность селекторов. Такое уменьшение производительности минимально и в случае редкого использования фактически не повлияет на общую скорость загрузки, к тому же, по обратную сторону фронтенда итоговый документ становится легче.
Расположение
HTML
Говоря о расположении в HTML, главное правило — определять модификатор максимально выше в сущности. Чем выше определен модификатор, тем больше контроля над сущностью и модификацией отдельных ее элементов, как существующих, так и новых в будущем.
Плохой пример использования модификатора:
Хороший пример использования модификатора:
CSS
В CSS, модификаторы стоит прописывать после основной группы модифицируемых элементов, чтобы не создавать путаницу, которая обязательно возникнет при появлении нескольких модификаций.
Общие правило расположение стилей описано в отдельном модуле.
comments powered by Disqus