>我有一个无法更改的代码:
item.left,
item.centre,
item.right{
.MIXIN();
}
.MIXIN(){
width: 100px;
}
我只需要将宽度应用于 .right 元素。我只能更改MIXIN()
的内容。我正在考虑使用&
但它会导致.right item.right
或item.right .right
这不是我想要的。有没有办法使用 MIXIN()
的内容仅对.right
元素应用样式?
可以使用否定 CSS 伪类:not()
。
item.left,
item.centre,
item.right{
width: 20px;
&:not(.left):not(.centre) {
width: 100px;
}
}
小提琴:https://jsfiddle.net/e0nd7pk4
你不能这样做。唯一的方法是重写第一个声明。
item.left,
item.centre {
width: inherit;
}
怎么样,但没有空格:
.MIXIN() {
width: 100px;
&.right { color: red; }
}
它编译到item.right.right
这有点奇怪,但不匹配左边和中间。
小提琴:http://jsfiddle.net/c0634wg2/