При использовании BEM нужно использовать характерное именование которое в scss достигается таким образом.
.navbar{
&__logo{}
&__link{}
&__call{}
}
Однако &
ссылается на своего родителя, а не на корневого из-за чего при более глубокой вложенности получается так:
.navbar{
&__logo{}
&__anchors {
&__link{}
}
&__call{}
}
И на выходе вместо .navbar__link
мы получаем .navbar__anchor__link
что не соответствует методологии.
Как сослаться на корневого родителя, а не на своего?
Символ &
будет заменен на родительский селектор, каким он компилируется в CSS. Это означает, что если у вас есть глубоко вложенное правило, родительский селектор будет полностью вычислен до символа & и подставится вместо него.
Для получения .navbar__link
используйте:
.navbar{
&__logo{}
&__link{}
&__call{}
}
Для ссылки на корневой можно использовать @at-root
, но не рекомендую:
$class: '.navbar';
#{$class}{
&__logo{}
&__anchors {
@at-root #{$class} {
&__link{}
}
}
&__call{}
}
На выходе:
.navbar__logo {}
.navbar__link {}
.navbar__call {}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
На сайте https://knigomaniaorg/ имеется адаптивный дизайн, но при нем блок с поиском уходит почти в самый низ страницы, на что очень жалуются пользователи
Такая проблема: На сайте стоит хорошая защита, есть кука, которая ставится "истекшей" сразу по загрузке страницы, но при $ajax эта кука всё равно...
На сайте есть модальное окно Bootstrap 4, в нем фотогалерея, список миниатюр картинокПо клику на миниатюру, она открывается на всю ширину экрана...