Web_Mukhammad
@Web_Mukhammad
frontend-разработчик

Как сделать по БЭМ?

Добрый день!

Подскажите пожалуйста, как правильно назвать классы по правилам БЭМ. Скриншот:

5de8df428e0e1794038929.png

Например:
<section class="portfolio">
  <div class="container">
    <h2 class="portfolio__title">Портфолио</h2>
    <div class="[...]">
      <div class="[...]">
        <a href="/" class="[...]">
          <img class="[...]" src="/" alt="">
        </a>
      </div>
      <div class="[...]">
        <a href="/" class="[...]">
          <img class="[...]" src="/" alt="">
        </a>
      </div>
    </div>
  </div>
</section>


Заранее спасибо!
  • Вопрос задан
  • 140 просмотров
Решения вопроса 2
potapchino
@potapchino
на самом деле тут нет однозначно верного решения. их множество и все они могут быть правильными. для начала нужно посмотреть на этот кусок интрфейса и определиться, что тут может быть блоками. все зависит от степени переиспользуемости которая вам нужна. можно все одним блоком сделать или например выделить 4 блока:

контейнер
<div class="container"></div>

тайтл
<div class="title"></div>

превью работы
<div class="project-preview">
    <div class="project-preview__image"></div>
  </div>


сама секция портфолио
<div class="portfolio-section">
    <div class="portfolio-section__inner">
      <div class="portfolio-section__title"></div>
      <div class="portfolio-section__grid">
        <div class="portfolio-section__preview"></div>
        <div class="portfolio-section__preview"></div>
        <div class="portfolio-section__preview"></div>
        ...
      </div>
    </div>
  </div>


далее все это соединям вместе миксуя блоки на одной dom-ноде
<div class="portfolio-section">
    <div class="portfolio-section__inner container">
      <div class="portfolio-section__title title">Портфолио</div>
      <div class="portfolio-section__grid">
        <div class="portfolio-section__preview project-preview">
          <div class="project-preview__image"></div>
        </div>
        <div class="portfolio-section__preview project-preview">
          <div class="project-preview__image"></div>
        </div>
        <div class="portfolio-section__preview project-preview">
          <div class="project-preview__image"></div>
        </div>
        <div class="portfolio-section__preview project-preview">
          <div class="project-preview__image"></div>
        </div>
      </div>
    </div>
  </div>
Ответ написан
Underdoggit
@Underdoggit
<section class="portfolio-section">
  <div class="container">
    <h2 class="portfolio-title">Портфолио</h2>
    <div class="portfolio-items">
      <div class="portfolio-items__item">
        <a href="/" class="portfolio-items__link">
          <img class="portfolio-items__image" src="/" alt="">
        </a>
      </div>
    </div>
  </div>
</section>

Секцию в БЭМ блок вы не включаете, называете её как угодно по смыслу. БЭМ Блоком у вас будет portfolio__items, который включает в себя сколько угодно item.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
uselessmindYEAH
@uselessmindYEAH
Frontback cocaine developer
<section class="section">
	<div class="wrapper section__inner">
		<h2 class="section__title">Портфолио</h2>
		<div class="portfolio section__content">
			<a class="portfolio__item" href="#">
				<img class="portfolio__img" src="/" alt="img">
			</a>
		</div>
	</div>
</section>
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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