Less
概览
安装:
npm i less -D
只要安装了 less,即使没有使用构建工具,也可以通过 lessc
手动编译 less 文件。例如:
# 编译less文件为css文件,可指定输出文件名
npx lessc foo.less foo.css
# 编译less文件为css文件,并输出到控制台
npx lessc foo.less
变量声明
格式:@变量名: 值;
@test_width: 300px;
.box {
width: @test_width;
}
导入
可以导入别的 less 文件,也可以导入 css 文件
@import 'reset.less';
@import 'base.css';
这样就可以使用在别的文件中 定义的变量
混合(mixin)
可以混合嵌套使用别的样式
1、示例
.box1 {
}
.box2 {
.box1;
height: 100px;
}
.box1;
可以写成 .box1();
2、可以传递参数:
.box3(@test_ml) {
margin-left: @test_ml;
}
// 传参
.box2 {
.box3(10px);
}
3、传参可以设置默认值:
.box3(@test_ml: 20px) {
margin-left: @test_ml;
}
.box2 {
.box3(); // 需要修改默认值可传参 .box3(30px)
}
4、仍然能添加!important
.box2 {
.box3(10px) !important;
}
运算
可进行 + - * /
运算,数值可以不带单位
@test_1: 300px;
.box4 {
width: @test_1 + 10;
height: (@test_1 - 250) * 2;
}
@arguments
包含了所有传递进来的参数
.border_1(@w: 1px, @s: solid, @c: #f00) {
// 不用写成 border: @w @s @c;
border: @arguments;
}