Структура папок проекта SMACSS - Где разместить класс?
Я начинаю следовать принципу SMACSS при написании CSS. Прочитав книгу дважды, я думаю, я хорошо разбираюсь в теории, но теперь у меня возникли некоторые проблемы с практической работой.
В моей базовой папке у меня есть normalize.css вместе с пользовательским сбросом CSS, который для некоторых частей перезаписывается, для других - нормализуется.
Теперь я создал класс, который удаляет все отступы и стиль списка из списка. Так что этот класс зависит от стиля, определенного ранее, но не является ни состоянием, ни модулем для меня.
Куда мне положить такой класс?
2 ответа
По словам Евгения, это должно быть в base
в случае, если вы хотите использовать его по умолчанию.
Но другая проблема: если вы не получаете normalize.css через bower, npm или git, вам лучше всего изменить там css, чтобы он соответствовал вашему стилю, а не переписывать правила позже. Это сохраняет ваш размер файла, а также сохраняет специфику на низком уровне и под контролем.
Если вы загрузите его с помощью менеджера пакетов, то все равно будет какой-то постпроцессор uncss
который может удалить дублированные правила на этапе постобработки. Это может быть немного сложно настроить, но работает довольно хорошо и может сэкономить много байтов.
Если эта модификация должна быть применена по умолчанию для всех списков (например, сброс) - вам нужно поместить ее в BASE
,
Если эта модификация предназначена только для некоторых специальных страниц, используйте THEME
,
В других случаях его следует поместить в MODULE
, как какой-то базовый класс, как .m-list
или подкласс .m-list-plain