Information
- Rating
- Does not participate
- Location
- Симферополь, Республика Крым, Россия
- Works in
- Date of birth
- Registered
- Activity
Specialization
Frontend Developer
Lead
HTML
CSS
BEM
SCSS
Adaptive layout
TypeScript
JavaScript
Crossbrowser layout
Web development
React
Мы пробовали. Очень сложно привести код к такому состоянию, особенно если используются библиотеки.
Это было.
Вам это часто пригождается в вашей работе разработчиком интерфейсов?
Это шире, чем разработка, это проектирование. В ШРИ мы ставим целью научить, как эффективно именно вести разработку, как взаимодействовать в команде.
То, о чём вы пишете у нас есть в Мобилизации, она была в 2016 летом в Москве и будет в 2017.
Тут лучше использовать модификатор ключ-значение, потому что фактически может быть только один из этих модификаторов у конкретной кнопки, т.е. кнопка может быть или positive, или negative, или neutral.
Рассматривайте это как аналог атрибута type у input. Значение конкретного типа определяет каким именно будет этот input. Тут логика точно такая же.
И в FAQ поиск по «микс»: https://ru.bem.info/faq/
БЭМ родился исходя именно из этих условий, из промышленного производства сервисов, когда нет ни возможности, ни необходимости подправлять что-то в стилях при изменении разметки. А так же из необходимости делать компоненты, которые потом используются в произвольных местах, иногда самым неожиданным образом.
Я вам оппонирую, что мы уже все возможные варианты рассмотрели и даже использовали это в продакшене. Потом отказались от «извращений» в пользу простых классов и простой схемы именования.
http://habrahabr.ru/post/270075/#comment_8641681
https://ru.bem.info/forum/-68/
rscss это упрощённый вариант БЭМ, в котором введены дополнительные искусственные ограничения. Автору так нравится больше, вай бы и нот?
В случае БЭМ это было бы
Так работает всегда:
А как вы переверстаете? Как положено?
И есть CSS:
.menu .item {}
.nevigation .item {}
И всё прекрасно работает, пока в какой-то из дней (обычно в пятницу перед сдачей проекта заказчику) меню не понадобится вложить в navigation. И вот тут начинается самое интересное.
В этом примере menu-list__link это ссылка внутри блока menu-list и она смешивается с full-article-link. Блок menu-list это какое-то меню, которое ничего не знает, что в него вкладывают, его семантика — быть меню и показывать всё, что в него положат.
Ну и secondary лучше задавать для full-article-link: .full-article-link_secondary (хотя предполагаю, что абстрактное меню может иметь в себе ссылки разных размеров (оставим за скобками зачем это нужно) и _size_small указывает как раз на это, что может быть ещё normal).