less是css的扩展。他扩展了变量、mixin、函数等功能,使得css代码写的更有效率,本篇主要先介绍less的变量。
一、变量正常用法(variables)
.less 文件中
@link-color: #000;
.btn {
color: @link-color;
}
编译后的css文件
.btn {
color: #000;
}
二、变量作为选择器名称使用
语法:变量声明:@变量:值 --------使用:.@{变量}
.less 文件中
@my-selector: btn;
.@{my-selector} {
color: #000;
}
编译后的css文件
.btn {
color: #000;
}
三、变量作为属性名称使用
使用方法与作为选择器名称使用一样:
.less 文件中
@property: color;
.@{property} {
@{property}: red;
background-@{property}: green;
}
编译后的css文件
.color {
color: red;
background-color: green;
}
四、变量作为变量名使用
在.less文件中,可以使用变量定义另一个变量
.less 文件中
@primary: red;
@secondary: blue;
.section {
@color: primary;
.element {
color: @@color;
}
p {
color: @secondary;
}
}
编译后的css文件
.section .element {
color: red;
}
.section p {
color: blue;
}
五、变量的Lazy Evaluation
变量在使用之前可以不必声明,可以在使用之后声明,如果存在局部变量,那么该作用域的属性会引用局部变量,如果不存在局部变量,那么后面声明的变量会覆盖前面声明的变量(如果声明了两个局部变量,同理)
.less文件中
.lazy-eval {
width: @var;
@a: 100px;
}
@var: @a;
@a: 80px;
@a: 40px;
编译后的css文件
.lazy-eval {
width: 100px;
}
六、属性作为变量
使用$prop语法将属性当作变量来使用
.less文件中
.widget {
color: red;
background-color: $color;
}
.ul {
height: 20px;
.li {
padding: $height;
}
height: 40px;
}
编译后的css文件
.widget {
color: red;
background-color: red;
}
.ul {
height: 20px;
height: 40px;
}
.ul .li {
padding: 40px;
}
以上就是我对Less中变量使用的总结,如其他小伙伴还有什么问题欢迎评论区留言讨论,谢谢~~