我会用一个例子来解释。
想象一下以下 CSS 规则
.parent {
color: blue;
}
.child {
color: red;
}
.parent .child {
color: white;
}
现在,假设您要创建一个等效于使用 LESS 的类.parent
和另一个等效于.child
使用 LESS 的类。
如果您使用“扩展”,您可以实现部分目标:
.newParent {
&:extend(.parent all);
}
.newChild {
&:extend(.child all);
}
将渲染:
.parent,
.newParent {
color: blue;
}
.child,
.newChild {
color: red;
}
.parent .child,
.newParent .child,
.parent .newChild {
color: white;
}
这使您的新课程几乎等同于您的旧课程。
缺少的是.newParent .newClass
最后一组规则。
有没有办法实现这种完全等效?
注意:这对于使用 Bootstrap 并且想要为他的类使用其他名称的人可能会有所帮助(以从框架中实现更大的抽象)。例如,假设您想更改 and 的名称.input-append
,.add-on
您需要扩展与这两个类相关的所有选择器,包括它们都出现的选择器(如.input-append .add-on { ... }
)。
提前致谢!