May I assume that in this screenshot some classes that show the connection between the blocks and the elements that make all the blocks are redundant and you can not do this? http://prntscr.com/kz8zwa

Or was everything done correctly in this screenshot and should it be so?

For example, based on the screenshot, nav is an element of a child main-navigation, could it have been possible to get by just a class for nav main-navigation without adding a class pointing to the mobile-header?

    1 answer 1

    Yes, redundant.

    Element is an optional component of a block. Not all units must have elements.

    Example

    <!-- Блок `search-form` --> <div class="search-form"> <!-- Блок `input` --> <input class="input"> <!-- Блок `button` --> <button class="button">Найти</button> </div> 
    • Elements can be nested into each other.
    • Any nesting of elements is allowed.
    • An element is always part of a block, not another element. This means that a hierarchy of the form block__elem1__elem2 cannot be registered in the name of the elements.

    From the documentation:

    https://ru.bem.info/methodology/quick-start/

    • Thank you for your reply - Kolyunya