less
less中的注释
以//开头的注释不会被编译到css文件中; 以/**/包裹的注释会被编译到css文件中。
less中的变量
- 使用@来申明一个变量
- 作为普通属性值来使用:@pink
- 作为选择器和属性名时,在引用变量时需要加{}:@{height}.
- 作为url:@{url}.
- 变量的延迟加载 (就近原则).
less中的嵌套规则
- 基本嵌套规则
- &的使用(消除空格,代表平级)(& :代表的上一层选择器的名字,)
less中的混合
- 混合就是将一系列属性从一个规则集引入到另一个规则集的方式
- 普通混合
- 不带输出的混合(将相同的样式写在一个{}里并在名字后面加(),例如居中样式,然后再调用)
``` .juzhong(){ position: absolute; left: 0; right: 0; top: 0; bottom: 0; margin: auto; background: @color; height: 100px; width: 100px; } #box { .juzhong }
3.带参数的混合(在()里填入变量形参,在调用时填入具体值)
```js
```
.juzhong(@w,@h,@c){
position: absolute;
left: 0;
right: 0;
top: 0;
bottom: 0;
margin: auto;
background: @color;
height: 100px;
width: 100px;
}
#box {
.juzhong(100px,100px,pink)
}
4. 带参数并且有默认值的混合
.juzhong(@w:10px,@h:10px,@c:pink)
5. 命名参数
```js
```` #box {
.juzhong(@c:blank)
}
6. 匹配模式
```js
```.triangle(@_){
width:0px;
height:0px;
overflow:hidden
}
//向左的三角形,下面L可以换成R/B/T分别代表右,下,上,同时修改@c的位置。
.triangle(L,@w,@c){
border-width: @w;
border-style: dashed solid dashed dashed;
border-color: transparent @c transparent transparent;
}
#box {
.triangle(L,40px,pink) //在调用时会主动带上属性名相同且形参以@_开头 的属性集。
}
-
arguments变量
```.border(@1,@2,@3){ border: @arguments; } #box{ .border(1px,solid,black) }
less运算
在less中可以进行加减乘除的运算。
- 加减法时 以第一个数据的单位为基准,
- 乘除法时 注意单位一定要统一
less继承
- extend关键字
- all 全局搜索替换