Less语言快速入门
介绍:Less是一门CSS预处理语言,它扩充了CSS语言,重点来了:它增加了诸如变量、混合(Mixins)、函数等功能,这让静态的CSS语言强大了有木有,方便制作主题(比如换肤)、扩充,更易维护。
使用:
1.变量
Less允许使用变量事先定义一些通用样式,在需要的时候引入,特点就是按需自取,自助餐有木有。
看下面栗子:
//这里是一些简单的LESS语法
@width:400px;
@height:300px;
@font_size:12px;
@color:#ccc;
@font-size:14px;
textarea {
width:@width;
height:@height;
font-size:@font_size;
}
.test {
color:@color;
background-color:@color;
font-size:@font-size;
}
Less编译后的对应CSS:
textarea {
width: 400px;
height: 300px;
font-size: 12px;
}
.test {
color: #cccccc;
font-size: 14px;
background-color: #cccccc;
}
这里要注意,Less以‘@’符号作为开头来定义变量,就像JS里以var定义变量一样,且变量的值只能是属性值,不能是变量,比如说,我这样定义一个变量:
@font:font-size;
.test{
@font:14px; //这样做是不行的,less不会编译成功!
}
2.后代选择器—可以嵌套
@color:#ccc;
div {
color:@color;
p{ //添加嵌套样式
color:@color;
}
&:after{ //通过&添加伪类
color:#ddd;
}
}
Less编译后的CSS:
div {
color: #cccccc;
}
div p {
color: #cccccc;
}
div:after {
color: #ddd;
}
这种方法也是比较常用的啦~小编我学会后就来推荐啦
3.文件引用
@import “文件名”; //文件名可以是相对路径
文件引用有两个常用方法:
①将全局变量引入到样式类文件时,使用’@import “文件名.less”;‘语句引入即可
②另一种常见用法是将初始化的Less文件引入,当需要样式类时,引入初始化Less文件即可。
4.混合(Mixins)
混合可以将已经写好的样式A引入到样式B,从而实现样式B对样式A所有属性的继承。
.border-radius(@radius: 4px) {
-webkit-border-radius: @radius;
-moz-border-radius: @radius;
border-radius: @radius;
}
#form-box {
.border-radius;
div{
.border-radius(14px);
}
}
Less编译后的CSS:
#form-box {
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
}
#form-box div {
-webkit-border-radius: 14px;
-moz-border-radius: 14px;
border-radius: 14px;
}
这里提一个比较有意思的变量@arguments,它包含了所有传递进来的参数,如果不想一个个写参数就可以使用它。
.margin (@top:0, @right:0, @bottom:0, @left:0) {
margin:@arguments;
}
div {
.margin(2px,5px);
}
Less编译后的CSS:
div {
margin: 2px 5px 0 0;
}
5.函数
div {
.fun(100px); //引用函数
}
.fun(@px){ //函数声明和JS里的很像,括号加参数
width:@px;
}
Less编译成CSS:
div {
width: 100px;
}
注意到没有,函数是不编译的