Less
1、CSS的缺点
标记性语言,毫无逻辑,浏览器兼容问题
2、预处理语言
Sass
Less
扩充了CSS,增加了变量,混合,函数等功能
Stylus
3、Less介绍
Less扩充了CSS语言,增加了诸如变量、混合(mixin)、运算、函数等功能。Less既可以运行在服务器端 (Node.js和Rhino平台)也可以运行在客户端(浏览器)。
4、Less使用
4.1 注释
4.2 变量
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
| @color: green; @width: 100px;
@mySelect: #warp; @{mySelect}{ } @warp: warp; .@{warp}{ }
@boderStyle: border-style; @Soild: soild; @{mySelect}{ @{boderStyle}: @Soild; }
@images:"./img"; body{ background: url("@{images}/car.jpg"); }
@background: {background: red};
body{ @background(); }
@width:300px; body{ width: @width - 20; }
@var: @a; @a: 100%; body{ width: @var; @a: 9%; }
@var: @a;
|
4.3 less嵌套
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
.center{ width: 100px; height: 100px; background: red; & #list{ li{ } } }
#main{ @media screen{ @media (max-width: 768px){ width: 100px; } } }
|
4.4 混合方法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
| .card(){ width:100px; } #warp{ .card(); }
.border(@a:10px, @b: 50px){ border:solid @a @b; margin: @arguments; }
@- 负责匹配
#card(){ background:red; .d(@w:300px){ width:@w; .a(@h: 300px){ height: @h; } } }
#warp{ #card > .d > #a(100px); }
#card(@a, ...){ text-shadow: @arguments; }
|
4.5 继承
4.6 导入
1 2 3 4 5 6 7 8 9 10
| @import "nav.less";
@import (reference) "a.less";
@import (once) "a.less";
@import (multiple) "a.less";
|
4.7 函数