Как правильно оформить второй header для других страниц?

Делаю проект по бэм и делю блоки на разные файлы (pug, scss). В проекте на главной странице header с темным фоном и белыми иконками/текстами, а на остальных страницах наоборот - белый фон, черные иконки и текст.

Как правильно это реализовать на уровне структуры проекта? Очень много вопросов порождается на этапе мыслей, поэтому просто скажите, как вы это делаете? где пишете или переопределяете стили второй шапке, как ее добавляете на страницу? Любые советы, спасибо.
  • Вопрос задан
  • 478 просмотров
Решения вопроса 1
Realetive
@Realetive
MODX Ambassador России, самозванный БЭМ-евангелист
В первую очередь мы смотрим в дизайн и пытаемся понять, кто «диктует» различия у одинаковых или схожих блоков. Тут, похоже, есть две «темы», которые модифицируют подложку (цвет фона) у родительского блока и цвет текста у заголовка. Возможно (без дизайна тут можно бесконечно гадать), что по-БЭМ это будет выглядеть как-то так:

<header class="header header_theme_dark">
  <div class="header__heading">
    <h1 class="heading heading_size_xxl heading_theme_dark">
      Hello kitty
    </h1>
  </div>
</header>


<header class="header header_theme_light">
  <div class="header__heading">
    <h1 class="heading heading_size_xxl heading_theme_light">
      Hello kitty
    </h1>
  </div>
</header>


— у .header_theme_* описан цвет «подложки» (background-color), а .heading_theme_* в свою очередь «знает», какой нужно задавать цвет текста (color).
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы