modules
├── some-sect
│ ├── some-sect.pug
│ └── some-sect-header.scss
├── some-sect-card
│ ├── some-sect-card.pug
│ └── some-sect-card.scss
modules
├── some-sect
│ ├── _some-sect-card
│ │ ├── some-sect-card.pug
│ │ └── some-sect-card.scss
│ ├── some-sect.pug
│ └── some-sect-header.scss
`block-footer` - это не самостоятельный блок, а внутренний блок `block`, нужный только для упрощения восприятия, и он не может / не должен использоваться в отрыве от него (в этом случае у него не должно быть в названии общего префикса с `block`, чтобы не создавать путаницу)
<div class="sect-some">
<div class="sect-some__header">
<div class="sect-some__header-avatar"></div>
<div class="sect-some__header-menu"></div>
</div>
<div class="sect-some__card">
<div class="sect-some__card-picture"></div>
<div class="sect-some__card-body"></div>
<div class="sect-some__card-footer"></div>
</div>
</div>
<div class="sect-some">
<div class="sect-some-header">
<div class="sect-some-header__avatar"></div>
<div class="sect-some-header__menu"></div>
</div>
<div class="sect-some-card">
<div class="sect-some-card__picture"></div>
<div class="sect-some-card__body"></div>
<div class="sect-some-card__footer"></div>
</div>
</div>
Внешние отступы и позиционирование относительно родительских блоков необходимо делать при помощи модификаторов либо миксов.
.title
тоже много, и в каждом миксовать ему одни и те же отступы мне не хочется, можно вынести правила отступов в mixin, но каждый раз миксовать все равно придется, т.е делать copy-past..body
и миксовать все .title
уже с ним, тогда копипаста не будет в каждом блоке. А придется докидывать класс .body__title
к каждому .tilte
с не понятными классами- для меня все что не bem это не понятные классы))
Ну и вместо ручного проставления CORS заголовков также есть одноимённый npm модуль.Пробовал использовать, работал до того момента как я не начал посылать запрос к node.js с header из front. Думаю все таки нужно разобраться с ним, спасибо))
display: flex
. Я в таком случае делаю микс. Блок container отвечает за ширину, а элемент header__containe
отвечает за display: flex
.container {
width: 100%;
max-width: 1208px;
}
.header {
&__container {
display: flex;
}
}
<div class="header">
<div class="header__container container">
<div class="header__logo"></div>
<nav class="header__nav"></nav>
</div>
</div>