:)
Сброс классов:
Допустим, у меня есть _base.scss и есть
ul {
margin-top: 20px;
margin-bottom: 10px;
}
Каков наилучший подход в БЭМ, чтобы всегда сбрасывать одно и то же. Я читал, что глобальные классы не разрешены. Должен ли я сделать, например, scss-placeholder (%resetUl), а затем расширить список ul или здесь разрешены какие-то глобальные классы? бывший.
<ul class="resetUl">
<li class="resetLi">
</ul>
BEM Mix или modifier: у меня есть две похожие кнопки. Одна кнопка с размером шрифта 16 пикселей, а другая с размером шрифта 20 пикселей. Маленький (размер шрифта 16px) всегда находится внутри другого компонента. Должен ли я делать здесь микс или модификатор?
Смешивание:
<div class="header">
<a class="header__item btn"></div>
</div>
Модификатор:
<div class="header">
<a class="btn btn--small"></a>
</div>
Что, если дизайнер каким-то образом скажет: «Я хочу, чтобы эта кнопка была и в другой части… хм… скажем… хм, в нижнем колонтитуле»…
С миксом:
.header__item,
.footer__item {
font-size: 16px;
}
С модификатором:
.btn {
//button stuff
}
.btn--small {
font-size: 16px;
}
Пока я пишу это, кажется, что такие вещи, как размер шрифта или цвет, являются модификаторами, а такие вещи, как поля, - это смесь?
И в этом контексте вопрос о промежутке (марже): вы уже делаете маржу в компоненте или в его БЭМ-миксе? Скажем снова простая кнопка. Я знаю, что все возможно, но пытаюсь понять некоторые плюсы и минусы.
Спасибо :)