我正在使用BEM,并且在从一个块获取属性以覆盖另一个块中的样式时遇到问题。我知道有些人可能会建议为.button添加修饰符,但有些情况下需要将某些属性应用于单个页面,因此不值得添加整个nother修饰符。
这是一个例子,只是为了表明我的问题:
.button {
padding-left: 0;
}
现在,当我向左边添加一个填充时,它会获得padding-left: 0;
,而不是.my-block
下定义的我想要使用的值。
.my-block {
&__button {
padding-left: 5px;
}
}
与padding-left: 5px;
相比,确保应用padding-left: 0;
的最佳方式是什么?
答案 0 :(得分:1)
我假设您使用混音,以便标记看起来像这样:
<button class="button my-block__button">
如果是这种情况,您需要确保捆绑中的订单(.button的样式应始终在.my-block__button
之前)。
在BEM Platform中,我们使用deps system为我们提供了保证。