<div class="main">
<section class="lead">
<div class="lead__wrap wrap">
<div class="lead__row row">
<div class="lead__column column column_xs_2">
<div class="lead__header"></div>
<div class="lead__txt"></div>
</div>
</div>
</div>
</section>
<section class="about">
<div class="about__wrap wrap">
<div class="about__row row">
<div class="about__column column column_md_5">
<div class="about__header"></div>
<div class="about__txt"></div>
</div>
</div>
</div>
</section>
</div>
<button class="communication_button button button_type_1">Очистить</button>
<div class="button__wrapper">
<div class="button capab__more">
<a href="#">
<button class="button__btn">All Services</button>
</a>
</div>
</div>
1)Блок - универсален и независим (в идеале). Он может располагаться в любом месте сайта без ущерба для собственного вида. Поэтому блокам не задаются стили, влияющие на позиционирование.
2)Элемент - неотъемлемая часть блока, не существующая вне его. Поэтому элементу можно задать позиционирование в пределах своего блока (различные отступы).
3)Модификаторами в БЭМ задают блокам внешний вид, состояние и поведение.
4)Миксы позволяют совмещать поведение и стили нескольких сущностей без дублирования кода
<div class="main-container">
<img class="main-container__picture" src="images/bg.png" alt="Background">
<!-- main-container__block-1 block-1 - Это микс, блок который модифицируется элементом другого блока или другим блоком -->
<div class="main-container__block-1 block-1">
<div class="block-1__content">
<div class="block-1__text">
<p>Your Title Goes Here Make It Long & Maybe 3 Lines</p>
</div>
<div class="block-1__buttons">
<!-- block-1__btn btn - Это тоже микс -->
<div class="block-1__btn btn"><a class="btn__link" href="#">explore</a></div>
<div class="block-1__btn btn"><a class="btn__link" href="#">Add to cart</a></div>
</div>
</div>
</div>
</div>
возможно надо этот элемент сделать блоком, типо: list-headet или как?
<div class="header">
<h1 class="header__title">Title</h1>
<p class="header__desc">Description</p>
<ul class="header__list list">
<li class="list__item"><a href="#" class="list__link">link</a></li>
<li class="list__item"><a href="#" class="list__link">link</a></li>
<li class="list__item"><a href="#" class="list__link">link</a></li>
</ul>
</div>
<div class="main-block__title welcome__title"></div>
Как бы вы отнеслись к решению, оставить спан без класса и обратится к нему по тегу, через класс родителя?
я в последнее время избегаю давать такие имена, типо item-title )
<td class="table__col shop-col">
<p class="shop-col__info">
<span class="shop-col__weight">1,2 кг</span>
х
<span class="shop-col__price">200 руб.</span>
</p>
</td>
<td class="table__col shop-col">
<p class="shop-col__info">
<span class="shop-col__weight">1,2 кг</span>
х
<span class="shop-col__new-price color-accent">199 руб.</span>
<span class="shop-col__old-price color-grey">200 руб.</span>
</p>
</td>
.header-top и .header-lower
2) Есть любой блок, у которого структура по своей сути - это container > row > col*(items). Как лучше её организовать с т.з. БЭМ?
<div class="news">
<div class="news__container container">
<div class="news__row row">
<div class="news__item">
<!-- контент -->
</div>
</div>
</div>
</div>
<div class="main">
<nav class="main__nav nav">
<ul class="nav__list">
<li class="nav__item">
<a href="#" class="nav__link">Home</a>
</li>
<li class="nav__item">
<a href="#" class="nav__link">Work</a>
</li>
<li class="nav__item">
<a href="#" class="nav__link">About us</a>
</li>
</ul>
</nav>
</div>
каждый пишет как ему удобно?