БЭМ: Зная, как далеко разбивать компоненты и позиционировать компоненты?

Я начал использовать БЭМ с сайтом, который я оформляю. Я пытаюсь понять, как далеко я должен разбивать компоненты (блоки). Например, у меня есть заголовок, в котором есть панель навигации. Заголовок классифицируется как блок, но панель навигации может быть новым блоком или частью блока заголовка. Что здесь лучше посоветовать?

Я надеялся найти несколько примеров сайтов, которые реализуют подобные вещи, чтобы получить хорошее представление об этом, но до сих пор я не нашел ничего, что могло бы это продемонстрировать.

Я также работаю с предположением, что компонент должен размещать свои элементы, так что это здорово, хороший кандидат на flexbox. Проблема, с которой я сталкиваюсь сейчас, заключается в размещении компонента на странице. Представьте себе, что вам нужно расположить два компонента рядом друг с другом, еще один хороший кандидат на использование flexbox, но зная, где разместить дисплей: flex ? также не будет ли компонент отвечать за размещение себя на странице с помощью flex-элемента css, то есть flex-shrink, flex-grow, base, order и т. д..

Это означает, что родитель диктует, где разместить себя на странице, и теперь он не является на 100% независимым блоком, поскольку ему нужен display: flex в своем контейнере.

Я нашел некоторую информацию о файловой структуре и задался вопросом, было что-то, что могло помочь? Может быть, я не совсем понимаю - можно ли использовать для этого каталог Layout?


person Martin    schedule 30.06.2017    source источник


Ответы (2)


Все ответы есть на https://en.bem.info.

как далеко я должен разбивать компоненты (блоки)

https://en.bem.info/methodology/quick-start/#should-i-create-a-block-or-an-element

теперь это не 100% независимый блок

https://en.bem.info/methodology/css/#mixes

немного информации о файловой структуре

https://en.bem.info/methodology/filestructure/

person tadatuta    schedule 01.07.2017

Этот сайт использует методологию БЭМ с включенным Flexbox. http://fantube.me/

person Eddy Vermeer    schedule 30.06.2017