Size: a a a

2020 June 11

RK

Roman Kalashnikoff in БЭМ
Спасибо!
источник
2020 June 14

И

Ильдар in БЭМ
Roman Kalashnikoff
Всем привет, а можете скинуть пример интернет-магазина, свёрстанного по канонам BEM? Интересно взглянуть на практику нейминга для блоков именно магазина
источник

AB

Alex Baumgertner in БЭМ
Roman Kalashnikoff
Всем привет, а можете скинуть пример интернет-магазина, свёрстанного по канонам BEM? Интересно взглянуть на практику нейминга для блоков именно магазина
источник

АН

Авроамэриканец Начрэ... in БЭМ
Могу ли я изменять стили дочерних блоков? Спрашиваю, потому что это увеличивает специфичность правил и у меня нет опыта и понимания о том, на сколько важно не увеличивать специфичность. Например я хочу тень для кнопки в кастомном селекте. Я могу описать правило .select__button > * {...}?
источник

Р

Роман in БЭМ
Авроамэриканец Начрэл
Могу ли я изменять стили дочерних блоков? Спрашиваю, потому что это увеличивает специфичность правил и у меня нет опыта и понимания о том, на сколько важно не увеличивать специфичность. Например я хочу тень для кнопки в кастомном селекте. Я могу описать правило .select__button > * {...}?
в чем проблема явно задать класс дочернему элементу и стилизовать без увеличения специфичности?
источник

АН

Авроамэриканец Начрэ... in БЭМ
Роман
в чем проблема явно задать класс дочернему элементу и стилизовать без увеличения специфичности?
Например, если нужно что-то необычное, а дочерний блок закрыт для модификации. Это не реальный случай, а просто размышление.

Лучше описывать такие состояния в самих блоках через модификаторы?
источник

Р

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

Лучше описывать такие состояния в самих блоках через модификаторы?
Если закрыт — конечно, это единственный способ.
источник

Р

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

Лучше описывать такие состояния в самих блоках через модификаторы?
источник

АН

Авроамэриканец Начрэ... in БЭМ
Я мог бы использовать .select__button поддерживающую фокус, прямо в className кнопки, что бы создать микс, но не знаю как это лучше делать с реактом. Стоит складывать сгенерированное из пропсов className с входящим (из props.className)?
источник

Р

Роман in БЭМ
Моя не понимать.
источник

АН

Авроамэриканец Начрэ... in БЭМ
Роман
Если закрыт — конечно, это единственный способ.
Ладно, понял, можно просто примиксовать элемент с нужным поведением.

А к каким проблемам ведёт повышение специфичности css правил, кроме использования !important? Где об этом можно почитать?
источник

Р

Роман in БЭМ
Авроамэриканец Начрэл
Ладно, понял, можно просто примиксовать элемент с нужным поведением.

А к каким проблемам ведёт повышение специфичности css правил, кроме использования !important? Где об этом можно почитать?
Уменьшение контроля. Хорошо, когда специфичность у всех равная и контролируется одинаково. Проще всего этого добиться, используя один класс (набор свойств) на тег.
источник

АН

Авроамэриканец Начрэ... in БЭМ
А как лучше переопределять css переменные, для установления цвета, например. Тоже через миксы?
источник

Р

Роман in БЭМ
Если  block2 может иметь color: blue, не лучше ли явно задать эту возможность: .block2_view_special {color: blue}, а не полагаться на вложенность, добавляя зависимость от другого Блока?
источник

АН

Авроамэриканец Начрэ... in БЭМ
Роман
Если  block2 может иметь color: blue, не лучше ли явно задать эту возможность: .block2_view_special {color: blue}, а не полагаться на вложенность, добавляя зависимость от другого Блока?
Вопрос о глобальных темах. Например мы захотели сделать цвет по умолчанию синим, что бы у всех глаза отвалились от красоты, и просто меняем какую-то глобальную переменную. Ну или переменную блока родителя, в зависимости от домена на который это должно распространяться
источник

АН

Авроамэриканец Начрэ... in БЭМ
Это о предоставлении API, для кастомизации
источник

yW

yarastqt World in БЭМ
Если у вас на проекте есть какая-то тема и она не статична, можно выносить её под селектор:
.Theme_kind_a {
 —color-1: #fff;
 …
}

Тогда можно будет в рамках фичи (домена) повесить новый модификатор или микс, в котором переопределить необходимый набор переменных
источник

yW

yarastqt World in БЭМ
Тут так же важно помнить о том, что все это дело не всегда хорошо работает с ie11 если у вас есть несколько вариаций тем
источник

АН

Авроамэриканец Начрэ... in БЭМ
yarastqt World
Тут так же важно помнить о том, что все это дело не всегда хорошо работает с ie11 если у вас есть несколько вариаций тем
А как поступают в яндексе с ie11? Посмотрел недавно Вадима Макеева, он делал какой-то пример с css переменными и как я понял, назначил дефолтный цвет явно и перебил его функцией var. Что бы в IE было хоть что-нибудь, а в современных браузерах красиво. Вы поступаете так же?
источник

yW

yarastqt World in БЭМ
Тут все зависит от проекта, если на проекте используется одна тема, то переменные раскрываются без проблем, если две темы, то тут чуть сложнее, для этого я написал postcss-плагин (https://github.com/yarastqt/postcss-theme-fold), который обрабатывает такие кейсы.
источник