godsplane
@godsplane

Куда (В какой файл) записывать например блок lang?

Правильно ли я понял, что блоки бем должны быть независимы от внешнего окружения.
Например у меня есть переключатель языка :
<nav class="header__lang-nav lang">
        <span class="lang__item"><a class="lang__link" hreflang="ru" href="/" lang="ru">RU </a></span>
        <span class="lang__item"><a class="lang__link" hreflang="en" href="/en" lang="en">EN </a></span>
      </nav>


Который в данный момент находится только в header, но в теории его можно будет запихать еще куда-то.
Стили для этого lang я должен писать в файле header.scss или мне нужно создавать под каждый блок отдельный файл (ну это бред же).
Просто на самом сайте бэм написано:
разделение кода на отдельные части — логика работы каждого блока, его опциональных элементов и модификаторов описывается в отдельных файлах;

Или это нужно применять только в случае если блок точно будет повторятся?
Но если это так, то значит нет смысла создавать новый блок и миксовать его с элементом, так как обращение в scss все равно будет идти к элементу от родительского блока? Например:
<header class="header container row space-between align-center">
      <div class="header__logo logo">   <!-- Нет смысла здесь создавать блок logo?Ведь он уникальный на всем сайте -->
        <a class="logo__link" href="/"><img class="logo__image" src="/assets/logo.0241cb85.svg" alt="Логотип" /></a>
      </div>
</header>

А если и можно создавать такой блок, то как к нему обращаться в scss?В каком файле?Во вложении header по &__logo или по .logo?
  • Вопрос задан
  • 46 просмотров
Решения вопроса 1
MrDecoy
@MrDecoy
Верставший фронтендер
В header.scss вы должны описывать только стили для header__logo. И то по упрощённой схеме. Потому что в методологии для каждого блока, элемента и модификатор предлагается создавать отдельные файлы, которые потом сборщиком проекта подключаются.

Стили для .lang в файле lang.scss.
Если нет сборщик которые сделает это в автомате, то пишут в основном файле стилей include и перечисляет какие блоки нужно подключить.

Будет ли блок повторяться в более менее крупных проектах далеко не всегда известно заранее. Соответственно, лучше сделать это сразу, чем выделять потом.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы