time: 2018.8.10
之前学过sass, less,应用的层面都只在变量定义、嵌套、&等基础使用层面,对于 mixin 、 function 的使用非常少,今天在学习 antd 源码的时候,里面用到了 less 的这些功能,所以需要来回顾一下less
1.1 定义函数,可以设置默认值;
1.2 使用的时候,可以有传参与不传参;
1.3 使用的时候,可以执行加减乘除运算,less中的函数映射了javascript的函数功能,通常用于属性值和颜色运算
@base-color: #111;
.rounded-corners (@radius: 5px) {
border-radius: @radius;
-webkit-border-radius: @radius;
-moz-border-radius: @radius;
}
#header {
.rounded-corners;
color: @base-color * 3;
}
#footer {
.rounded-corners(10px);
}
1.4 使用的时候,可以根据传参匹配
.mixin (dark, @color) {
color: darken(@color, 10%);
}
.mixin (light, @color) {
color: lighten(@color, 10%);
}
.mixin (@_, @color) {
display: block;
}
@switch: light;
.class {
.mixin(@switch, #888);
}
通过 @{}
实现名称拼接,用在字符串中或者css类名
@btn-prefix-cls: ~"@{ant-prefix}-btn";
.@{btn-prefix-cls} {}