Size: a a a

2019 September 23

О

Олег in БЭМ
Привет. Если имеется два меню(.navigation) но разных по внешнему виду, то есть смысл использовать один и тот же блок, но с разными модификаторами? Аля
.navigation__item_theme-1
.navigation__item_theme-2
источник

О

Олег in БЭМ
Вот скрин. Только наверное цифрами не хорошо называть темы? Или вообще разные блоки юзать?
источник

Р

Роман in БЭМ
Олег
Привет. Если имеется два меню(.navigation) но разных по внешнему виду, то есть смысл использовать один и тот же блок, но с разными модификаторами? Аля
.navigation__item_theme-1
.navigation__item_theme-2
*_theme_* или *_position_*
источник

О

Олег in БЭМ
Роман
*_theme_* или *_position_*
ну в теории позиция в будущем может поменяться(в футере вертикально например). Я думал сделать название по цвету theme-blue, theme-grey, но цвет тоже может поменяться. С неймингом постоянно проблемы
источник

EW

Eugeniy World in БЭМ
Я бы не делал модификатор темы на айтемы, а лучше на сам контейнер
источник

EW

Eugeniy World in БЭМ
.navigation_theme_default > .navigation__item
источник

EW

Eugeniy World in БЭМ
А для двух вариаций, столбик или строка, можно модификатор view завести
источник

О

Олег in БЭМ
Олег
Вот скрин. Только наверное цифрами не хорошо называть темы? Или вообще разные блоки юзать?
В общем я подумал, что лучше использовать солянку из классов, чем давать название для тем. В теории можно будет "собирать" разные стили. Но вот только столько модификаторв использовать - это нормально? Не похоже на использование style?
<li class="navigation-list__item"><a class="link link_text-weight-bold link_display-block link_hieght-full navigation-list__link navigation-list__link_text-color-beige navigation-list__link_indent-tiny"></a></li>
источник

Р

Роман in БЭМ
Олег
В общем я подумал, что лучше использовать солянку из классов, чем давать название для тем. В теории можно будет "собирать" разные стили. Но вот только столько модификаторв использовать - это нормально? Не похоже на использование style?
<li class="navigation-list__item"><a class="link link_text-weight-bold link_display-block link_hieght-full navigation-list__link navigation-list__link_text-color-beige navigation-list__link_indent-tiny"></a></li>
«Нормально» — это субъективное определение. Если такое дробление оправдано (на проекте действительно встречаются различные сочетания этих модификаторов) — то вообще отлично. Лепить модификаторы ради вероятной вариативности — плохая затея.
источник

Р

Роман in БЭМ
И лучше использовать классическое именование: https://ru.bem.info/methodology/naming-convention/#правила-формирования-имен — Стиль Гарри Робертса сводит на «нет» смысл модификаторов.
источник

О

Олег in БЭМ
Роман
«Нормально» — это субъективное определение. Если такое дробление оправдано (на проекте действительно встречаются различные сочетания этих модификаторов) — то вообще отлично. Лепить модификаторы ради вероятной вариативности — плохая затея.
Ну да, согласен. Но просто не понятно как назвать темы для этих меню. Ни к цвету вроде не привязать и не к располажению. Только нумерация остаётся)
источник

Р

Роман in БЭМ
Я считаю, что всё, что связано с цветом, имеет отношение к теме. Нет необходимости задавать тему для элементов, тема может распространяться от блока на элементы.
источник

Р

Роман in БЭМ
Через CSS CP можно даже управлять этим всем без каскадности.
источник

Р

Роман in БЭМ
*custom properties
источник

g

gizeasy in БЭМ
Роман
Я считаю, что всё, что связано с цветом, имеет отношение к теме. Нет необходимости задавать тему для элементов, тема может распространяться от блока на элементы.
+1
источник

g

gizeasy in БЭМ
Олег
Ну да, согласен. Но просто не понятно как назвать темы для этих меню. Ни к цвету вроде не привязать и не к располажению. Только нумерация остаётся)
Я бы 2 разных блока сделал и не парился.  У них разная смысловая нагрузка, соответственно и блоки разные. У них даже элементы разные. Единственное что их может объединять это блок "текст", который обозначит размер, шрифт, и прочие описанные декларации.
источник

О

Олег in БЭМ
Роман
Я считаю, что всё, что связано с цветом, имеет отношение к теме. Нет необходимости задавать тему для элементов, тема может распространяться от блока на элементы.
Спасибо за ответы, буду разбираться
источник

О

Олег in БЭМ
gizeasy
Я бы 2 разных блока сделал и не парился.  У них разная смысловая нагрузка, соответственно и блоки разные. У них даже элементы разные. Единственное что их может объединять это блок "текст", который обозначит размер, шрифт, и прочие описанные декларации.
Смысловая нагрузка одна - это навигация :) Так что я склоняюсь к одинаковым блокам, но с разными модификаторами темами
источник

Р

Роман in БЭМ
gizeasy
Я бы 2 разных блока сделал и не парился.  У них разная смысловая нагрузка, соответственно и блоки разные. У них даже элементы разные. Единственное что их может объединять это блок "текст", который обозначит размер, шрифт, и прочие описанные декларации.
Блоки отражают логику, а не внешнй вид. Если у них одинаковое содержание (т. е. одинаковый набор данных), т. е. это просто разные *_view_* одного блока
источник

О

Олег in БЭМ
Роман
Блоки отражают логику, а не внешнй вид. Если у них одинаковое содержание (т. е. одинаковый набор данных), т. е. это просто разные *_view_* одного блока
Ну да, разный внешний вид, но содержаться там и там будет меню в виде списка подпунктов
источник