一、混合:
什么是less中的混合(Mixin)?将需要重复使用的代码封装到一个类中,在需要使用的地方调用封装好的类即可,在预处理的时候less会自动将用到的封装好的类中的代码拷贝过来,本质就是ctrl+c --> ctrl + v。
less中混合的注意点:如果混合名称的后面没有(),那么在预处理的时候会保留混合的代码(意思是在输出的css中,会含有.center这部分代码),如果混合名称的后面加上(),那么在预处理的时候不会保留混合的代码,(意思是在输出的css中,不会含有.center这部分代码,但是调用它的其他类还是复制这部分代码过来了)。
1、带参数混合:
在LESS中,你还可以像函数一样定义一个带参数的属性集合。
2、带参数的混合, 并且带默认值:
赋值通过冒号赋值,参数也是,不是等于号;
即使混合有三个参数,你可以只传一个,且可以指定给哪一个形参传值。
3、命名参数:
调用混合时在参数前面加上它自己的参数名(形参名)中间用逗号(,)隔开,如:
4、匹配模式:
就是通过混合的第一个字符串形参,来确定具体要执行哪一个同名混合。
通用的匹配模式
无论同名的哪一个混合被匹配了, 都会先执行通用匹配模式中的代码。
@_:表示通用的匹配模式
5、arguments:
捕捉用户所有传入的参数,然后拼接,同JavaScript中函数的arguments。
编译后:
二、继承:
特点:
less继承方便代码模块化
继承不支持带参数
语法: 获得继承名:extend(继承部分名){…}
编译后:
继承所有状态(如伪类选择器)
语法: 获得继承名:extend(继承部分名 all){…}
编译后:
三、避免编译:
有时候需要输出一些不正确的CSS愈发或者使用一些LESS不认识的专有语法。
要在输出这样的值,我们可以在字符串前加上一个~
编译后:
important提升优先级
编译后: