Html 修饰元素的子元素?
采取以下结构:Html 修饰元素的子元素?,html,css,bem,Html,Css,Bem,采取以下结构: <div class='article article--yellow'> <div class='article__headline'>...</div> </div> <div class='article article--blue'> <div class='article__headline'>...</div> </div> 因为这样我就可以只使用一个选择器来选
<div class='article article--yellow'>
<div class='article__headline'>...</div>
</div>
<div class='article article--blue'>
<div class='article__headline'>...</div>
</div>
因为这样我就可以只使用一个选择器来选择它:文章——黄色标题
我知道从技术上讲这是可行的,但我不知道根据边界元法这是否有效。这是一个完美的问题 块修改器可以影响元素吗? 如果我有块修改器,例如 示例
xmas
,我希望该块中的元素也
xmas
主题,如何做才是最好的
是否每个元素都需要一个--xmas
后缀?还是会这样
是嵌套的一个用例(例如block--xmasblock\uu elem{。。。
}
但是,一般来说,BEM建议避免嵌套选择器,这
当它们是合理的时,情况就是如此。
创建嵌套选择器时,声明一个实体依赖于
另一方面,由于边界元法引入了独立的组件,这种方法
当我们谈论2个不同的街区时,不建议使用
但是,当涉及到块及其元素时,它们并不重要
等价意义。根据它的定义,元素不构成任何
在其父块外进行检测。因此,元素依赖于块
假设这样,元素
受块的当前状态影响
所以,这在BEM中是一个很好的模式
.my-block--xmas .my-block__button {
/* Jingle bells, jingle bells, jingle all the way.*/ }
所以答案应该是你的第一个方法
.article--yellow .article__headline { ... }
我不认为两个层次太深,无法指定
.article--yellow.article\uu headline
的特殊性。从技术上讲,.article\uu headline
如果没有。article--yellow
颜色修饰符,就永远不会出现
虽然类名很长,但BEM允许您轻松地自行编制文档(假设您理解这些概念之后的任何人也理解这些概念)。此外,对我来说,BEM组件不应该相互影响
.article--yellow .article__headline { ... }