Css预处理语言之Less
- Less 是一门 CSS 预处理语言,它扩展了 css 语言,增加了变量、Mixin、函数等特性,使得 css 更易维护和扩展。
- Less 可以运行在 Node 或者浏览器端
-
npm转义less文件
npm root -g 该命令可以输出全局的依赖包所在的位置
- npm i less 下载 less 依赖包
- lessc index.less index.css 该命令转义 less 文件
- package.json 配置文件里边可以在”scripts”属性中 自定义脚本。
一、less支持变量
1、样式的变量
// less 支持变量和嵌套// 1、样式的变量@width:200px;@bg:green;@bg2:red;#box {width: @width;height: 200px;background: @bg;}
2、选择器的变量
// 2、选择器的变量@name:#box .container;@{name} {width: @width;height: 200px;background: @bg2;}@url: './img/logo';
3、路径的变量
```javascript // 3、路径的变量box {
background: url(@url); }header {
// 在引路径的时候如果想在变量后边加上一部分,那就用下边这种形式 background: url(‘@{url}/1.png’); }
<a name="TP2zr"></a>### 二、less支持嵌套- &表示最近的父级选择器```javascript// Less 的嵌套// 在样式嵌套中有类似作用域的功能// 在样式中使用变量,寻找变量的过程类似于作用域链查找机制,一层一层的往外查找#box {width: @width;.container {height: 300px;@width: 500px;a {text-decoration: none;width: @width;background-color: @bg2;}}}#box {// &表示最近的父级选择器&:hover {color: lavender;}}
三、less 支持运算
1、16 进制颜色值相加
@black:#333;@light-black:#222;@deep-black:@black+@light-black;#main {background-color: @deep-black;}
2、单位相加
@a:100px;@b:100px;@d:100rem;@c:@a+@b;@e:@b+@d;@f:@d+@b;#main {width: @c;height: @e;outline: @f;}
四、less支持函数形式
- less 中的函数可以有形参
- 函数体一旦有形参,那函数执行的使用必须给他传递实参
- 形参和实参的个数是一一对应的,而且数量必须一致
- Less 中的函数支持 arguments
// Less 支持函数形式// less 中的函数可以有形参// 函数体一旦有形参,那函数执行的使用必须给他传递实参// 形参和实参的个数是一一对应的,而且数量必须一致.public(@w,@h){width: @w;height: @h;border:1px solid red;line-height: 300px;}#box {.public(100px,200px)}
Less 中的函数支持 arguments
.public(@w, ...) {// less 中的函数可以有形参// 如果你不想写形参,可以拿...代替width: @w; // @w 就是实参的第一个值height: 200px;border: @arguments;line-height: 300px;}
五、!!Less 的解析顺序是从后往前解析
@front:"i am frond";@var :"front";#wrapper::after {content:@@var;}
// Less 的继承 &:extend();.box {color: red;background: #000;}#title {width: 200px;height: 200px;// 继承小括号里选择器的样式&:extend(.box);}
