继承的定义
在使用封装代码除了混合方法以外还可以使用继承的方法,继承就是该选择器除了使用自身包裹的属性外,还要执行继承的封装代码中的包裹的代码。在预处理之后,会呈现并集选择器的关系。
继承的方法
在选择器后添加 :extend(继承对象) 来进行继承
例子
less
.color {
color: #111111;
}
.color {
background-color: #159262;
}
.border_r {
border-radius: 5px;
}
.textarea1:extend(.color all) {
display: inline;
}
.textarea2:extend(.color, .border_r) {
display: block;
}
.textarea3:extend(.color):extend(.border_r) {
display: flex;
}
css
.color,
.textarea1,
.textarea2,
.textarea3 {
color: #111111;
}
.color,
.textarea1,
.textarea2,
.textarea3 {
background-color: #159262;
}
.border_r,
.textarea2,
.textarea3 {
border-radius: 5px;
}
.textarea1 {
display: inline;
}
.textarea2 {
display: block;
}
.textarea3 {
display: flex;
}
注意
- 可以有多个扩展.textarea2:extend(.color, .border_r)或者.textarea3:extend(.color):extend(.border_r)两者一致
- 扩展必须写在最后
- 选择器后面可以使用extend,如果一个规则集包含多个选择器,所有选择器都可以使用extend关键字
混合与继承的区别
从表面看来,extend与混合最大的差别,就是extend是同个选择器共用,而混合的本质就是复制粘贴封装的代码块。
继承有利于减少代码的重复性!!!
混合使用起来更加灵活!!!