Прочитала про БЭМ, решила попробовать использовать и сразу же натолкнулась на проблему. Допустим, у меня есть блок, внутри него много тегов p, и всем нужно задать определенные маргины. Я пишу:
.my-block p{
margin: 10px 0;
}
Но есть один тег p, которому я хочу задать другой маргин, я пишу селектор .my-block__my-elem
и этот маргин не применяется, потому что селектор .my-block p
перевешивает. Что делать в таком случае? Не писать же important
, селектор .my-block .my-block__my-elem
, или, еще хуже, не добавлять же всем тегам p
класс my-block__p
?
На мой вкус
.my-block .my-block__my-elem
— вполне норм в данном случае.Самое БЭМ решение —
.my-block__p
.Если оно не подходит, можно
.my-block .my-block__elem
или.my-block__elem[class]