问:我正在尝试使用BEM命名约定,并且在确定在何处包括特定页面的修饰符时有些困难。
例如,假设我有一个带有btn类的按钮:
我的项目有3个不同的页面:
-pageA.html
-pageA.scss-pageB.html
-pageB.scss-pageC.html-pageC.scss
在pageB.html按钮上应该有一个margin-top:30px。这样写修饰符是否正确:
.btn {
padding:5px 20px;
背景:橙色;
margin:0
&-- margin-top {
margin-top:30px;
}
}
那么,仅对特定页面包含这样的修饰符的最佳方法是什么?在这种情况下,将适用于pageB.html。我应该在pageB.scss或中包含该修饰符buttons.scss吗?
答:我不熟悉BEM,但是为什么每页有不同的CSS?我只是在向下钻取中为其指定特定的类修饰符。至于您的CSS问题,您可以这样简写:
.btn {
margin:30px 0 0 0;
}
或者您可以执行以下操作:
.btn {
margin-top:30px;
}