Как стать автором
Обновить
1
0
Peter Dmitrienko @dmitrienkop

Пользователь

Отправить сообщение
Насколько я знаю, вот так
.menu__item__link .menu__item__link_active
совсем делать нельзя.
Может быть только один уровень вложенности (поправьте меня примером с bem.info, если я не прав).
Т.е., м.б. только отношения блок__элемент, но никак не блок__элемент__элемент.
А как тогда быть с модификаторами? Их нельзя применять к элементу, только к блоку, или я ошибаюсь? А если .link содержит в себе множество элементов, которые я хочу сделать элементами для блока ссылки плюс мне нужно состояние (к примеру активности) для неё? Мне эти элементы тоже привязывать к меню?)
Почему? Блок может содержать и элементы и другие блоки.
Ну, накосячили верстальщики или разработчики.
А говнокод на PHP характеризует PHP?
Так и учитесь. Есть bem.info — там всё подробно, и с хорошими примерами. Куда как лучше составлять своё мнение на чём-то более-менее существенном. Моё сложилось на множестве больших проектов, которыми занималось одновременно много человек, и на том, что те люди, что не использовали БЭМ, после них его полюбили и оценили профит.
Да, и вы удивитесь, но с БЭМ можно использовать LESS и табуляцию :)
Это корявый БЭМ) Давайте тогда я «не_БЭМ» буду представлять как
.myOwnPage #myBlock div div div a {}
? :)
Думаю, в рекомендации скорее говорится о том что для блока авторизации вряд ли подойдёт класс .block1, или например .news. Т.е., по этому классу можно сказать, что это за блок. По БЭМ-именованию с исключеним множества вложенностей в именовании вполне себе можно понять что это за блок и даже какое иерархическое положение он имеет.
И что вас смущает, например, в:
.menu
.menu__item
.menu__item .link
?
Что несемантично/сложно/непонятно?
Расскажите, каким, по-вашему, должно быть именование классов?
Что вы имеете в виду когда говорите что БЭМ рушит вам семантику кода?
Чтож, до того как меня на прошлом месте работы не убедили попробовать — я плевался и считал это нечитаемым. Сейчас в 95% случаев с ужасом смотрю на читабельность больших проектов «не по БЭМу», часто их поддержка отнимает необоснованно много времени.
Ну а в чём проблема? Вот CSS со случайной странички яндекса:
.b-mail-domik .b-hint-input { /*… */ }

По БЭМ нормально:
.main-menu — блок
.main-menu__item — элемент блока
.ico_size_16 — модификатор для блока

двойную вложенность в БЭМ я не встречал
А сам Яндекс, Рамблер, Хедхантер, Yota, lj, лента.ру?
+ Google так или иначе использует близкую концепцию.
На больших проектах с большой (возможно, распределённой) командой, на своём опыте скажу что БЭМ + жёсткий стандарт кода — спасение для верстальщика.
Нет, корректно будет так:
.nav__item {}
.nav __item .link {}
1) Читабельность. Смотря на правильно свёрстанную страницу по БЭМ, можно понять место и значение элемента, просто глядя на класс в стилях:
.main-menu > .main-menu__item > .main-menu__link,
умно описывать стили элементов, используя уже написанный код"
.ico.ico_size_16.ico_map
2) Семантичность. Вам что-то мешает использовать уместные тэги в БЭМ?) Мне, и многим бывшим и нынешним коллегам — нет)
Вы так говорите, как будто Microsoft запретила Dropbox для WP. «Решает» не больше, чем iOS с iCloud (под iOS, кстати, есть SkyDrive). И не больше чем андроид «решает», какими картами и почтой мне пользоваться.
На вкус и цвет. Но для экосистемы винфона «родной» SkyDrive, а не Dropbox.
А инстаграм — это такая штука из унылых фильтров для сомнительного качества фотографий + соцсеть, которой никто не пользуется? Так под винфон есть несколько действительно неплохих приложений для редактирования фото, которые также потом можно отправлять в твиттер, фб или куда ещё нынче принято.
IE9, смартфон :-) WP7, всё ок. Не в гифке дело?

Информация

В рейтинге
Не участвует
Откуда
Томск, Томская обл., Россия
Работает в
Дата рождения
Зарегистрирован
Активность

Специализация

Frontend Developer
Lead
Git
JavaScript
React
TypeScript
Redux
Node.js
NestJS
Socket.js