为了简化代码而采用的,CSS自带不兼容老浏览器,于是有了less
CSS变量和函数
1 2 3 4 5 6 7 8 9 10
| html{ --varName:200px; }
div{ wdith:var(--varName); height:calc(500px/2); }
|
less
- less是css的增强版,写更少的代码实现更强大的样式
- 支持变量,mixins..
- 语法与css一致,但有许多扩展
- 浏览器无法直接执行less代码,需要转换工具将less to css
- 将代码模块化,方便维护与管理
基础语法
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 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
| @a:100px; @a: 200px; @b: img; @c: test;
div{ width: @a; height: $width; background-image: url("@{b}/1.png"); span{ color: red; } &:hover{ color: blue; } }
.@{c}{ width: @a; }
.box:extend(div){ background-color: #bbffaa; }
.box2{ .test(); }
.my-mix(){ border: 2px solid red; }
.my-mix2(@var1,@var2){ width: @var1; height: @var2; }
.box3{ .my-mix2(100px, 200px); }
|
编译的css源码
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
| div, .box { width: 200px; height: 200px; background-image: url("img/1.png"); } div span { color: red; } div:hover { color: blue; }
.test { width: 200px; }
.box { background-color: #bbffaa; }
.box2 { width: 200px; }
.box3 { width: 100px; height: 200px; }
|
此外,less里面的所有数据都可以进行运算
less还给我们提供了很多的函数
引入
- 相当与将别的less文件内容复制进来
- 优点就是将代码模块化,比如var.less文件管理变量,mixins.less管理函数..
- 方便后期维护管理
debug
因为在浏览器的开发工具里显示的都是css代码位置,所以需要使用less工具来帮助我们进行调试
- 更改less的json配置文件把sourceMap改为true即可
- 再次进入开发者工具显示的就是less代码位置