Прочитала про БЭМ, решила попробовать использовать и сразу же натолкнулась на проблему. Допустим, у меня есть блок, внутри него много тегов 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]