我在我正在处理的项目中使用BEM CSS命名约定。到目前为止所有的桃子都是桃子。但是我需要在同一个html页面上实现几个主题(意思是略有不同的设计)。写这个:
.name-of-theme .block1 {
...
}
.name-of-theme .block2 {
...
}
不会是BEM,但允许在body标签中添加一个修饰符。
写这个:
.block1--name-of-theme {
...
}
.block1--name-of-theme {
...
}
将是BEM,但也意味着在HTML中编写大量冗余代码,因为每个受影响的块都必须使用额外的CSS类进行修改。这也很难维持。
在没有编写冗余代码的情况下,是否存在兼容BEM的解决方法?