简介
less(leaner style sheets)是一门css的预处理语言。
vscode将less文件编译成css或者wxss文件
- 安装Easy Less插件:注意版本的选择,使用1.7.0
- 配置settings.json
"less.compile": {
"compress": false,//是否压缩
"sourceMap": false,//是否生成map文件,有了这个可以在调试台看到less行数
"out": true,
// "outExt": ".wxss"
"outExt": ".css"
},
基础语法
1.less中的变量
- 使用示例
- less程序如下
@width: 100px; .box1 { width: @width; } // 类名 @b: box2; @dir: src; .@{b} { background-image: url("@{dir}/xxx.jpg"); }
- 编译成的css如下:
.box1 { width: 100px; } .box2 { background-image: url("src/xxx.jpg"); }
2.父元素
- &表示外层的父元素
- 使用示例
.box1 { /* 后代元素 */ .box2 { color: blue; } /* 子元素 */ >.box3 { color: red; &:hover{ color: black; } } /* 为box1元素设置hover,&表示外层的父元素 */ &:hover { color: greenyellow; } }
- 编译后的css如下
.box1 {} .box1 .box2 { color: blue; } .box1>.box3 { color: red; } .box1>.box3:hover { color: black; } .box1:hover { color: greenyellow; }
3.扩展
- :extend()对当前选择器扩展指定选择器的样式。(选择器分组)
- 使用示例
.box1 { color: chartreuse; } @width: 100px; .box2:extend(.box1) { width: @width; }
- 编译后的css代码如下
.box1, .box2 { color: chartreuse; } .box2 { width: 100px; }
4.混合函数
- 使用类选择器时可以在选择器后边添加一个括号,这样就创建了一个混合mixins。
- 混合函数中可以设置变量。
- 使用示例
// 定义混合函数,指定参数的默认值 .test(@width:1000px, @height:1000px, @bg-color:blue) { width: @width; height:@height; background-color: @bg-color; } div { // 1.调用混合函数,按照顺序传递参数 // .test(100, 100, #bfa); // 2.调用混合函数,按照名称传递参数 // .test(@width:100px, @height:100px, @bg-color:#bfa); .test(); }
- 编译后的css代码如下
div { width: 1000px; height: 1000px; background-color: blue; }
- less预定义了混合函数可以直接使用