Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Добрый день. Нужен совет по вложенностям в БЭМ. #1631

Open
Zinger1988 opened this issue Mar 4, 2021 · 3 comments

Comments

@Zinger1988
Copy link

Предположим, у меня есть блок header, в нем есть блок search, который, в свою очередь, содержит кнопку "закрыть".
Данная реализация с такой кнопкой предполагается только в хедере и нигде более.

Отсюда вопрос:

  1. Как мне оформлять данную кнопку с точки зрения БЭМ, как элемент блока header или как элемент блока search?
  2. Допустимо ли во вложенном блоке использовать элементы блока родителя?

Заранее, благодарю.

<header class="header">
    <div class="search header__search">
        <form class="search__form" action="/" method="post">

                    <button type="submit" class="search__submit">
                        <i class="icon icon--search"></i>
                        <span>Найти</span>
                    </button>

                    <input class="search__input" placeholder="Поиск товаров" type="text" name="search">

                    <a class="search__extended" href="#">
                        <i class="icon icon--gear--outline"></i>
                        <span>Расширенный поиск</span>
                    </a>
                    
                    <!-- Кнопка ЗАКРЫТЬ -->
                    <button class="header__search-close">
                        <i class="icon--cancel"></i>
                    </button>

                </form>
    </div>
</header>
@Realetive
Copy link

  1. Нет однозначного ответа, вам придётся самостоятельно «допросить» эту сущность, чтобы понять, «достойна» ли она выделения в блок. Вообще <form> сам по себе тянет на самостоятельный блок, так что вполне может быть так:
<header class="header">
  <form class="header__search form form_view_search" action="/" method="post">
    
    <button type="submit" class="form__submit">
      <i class="icon icon--search"></i>
      <span>Найти</span>
    </button>
    
    <input class="form__input" placeholder="Поиск товаров" type="search" name="search">
    
    <a class="form__extended" href="#">
      <i class="icon icon--gear--outline"></i>
      <span>Расширенный поиск</span>
    </a>
    
    <!-- Кнопка ЗАКРЫТЬ -->
    <button class="form__close">
      <i class="icon icon--cancel"></i>
    </button>
    
  </form>
</header>
  1. да.

@Zinger1988
Copy link
Author

Благодарю за ответ!

@FominPA
Copy link

FominPA commented Jul 15, 2021

На второй вопрос: Нет, так как это нарушает независимость блока search. Если ваш вопрос, допустимо ли использовать header__elem в блоке search

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants