Less 基础入门
Less
简介:Less
是一种动态样式语言,也就是是一门 CSS 预处理语言,它扩展了 CSS语言,增加了变量、Mixin、函数等特性,使 CSS 更易维护和扩展。- 开发环境搭建:使用
koala
进行即时编译,得同时创建Less
文件和CSS文件,在Less
里面进行编译,通过Koala
同步到CSS文件里面,对样式起作用的依然是CSS文件。
- 注意:1)使用
koala
不能反向编译,也就是说直接去CSS文件里面做修改的话不能同步到Less
文件中;2)如果在CSS文件里面删掉某个样式,要恢复的话必须重新在Less
文件里面删掉原本那个样式再重新输入才行,只进行简单的保存是不能恢复的。
Less
有两种注释,一种是双斜杠加双星,另一种是直接双斜杠;前者可以被编译到CSS中,后者则不会编译到CSS中,也就是不会再CSS中显示- 变量:使用标志符
@
定义一个变量
{
@box_size:400px;
@box_color:#333;
}
- 混合-(Mixin):就是在一个样式中引用其他样式
{
#less-box {
width: @box_size;
height: @box_size;
background-color: @box_color;
.border;
.border-text(green);
.border-text-define();
}
.border {
border: 10px solid red;
}
.border-text(@border_color) {
border:10px solid @border_color;
}
}
- 匹配:在参数列表中添加一个匹配字符,放在列表的开头
{
.triangle (bottom,@border_color:red, @border_size:40px) {
border: @border_size;
border-color: red transparent transparent transparent;
border-style: dashed dashed solid dashed;
}
.triangle (@_,@border_color:red, @border_size:40px) {
width: 0px;
height: 0px;
overflow: hidden;
}
.triangle-test {
.triangle(bottom,yellow,20px);
}
}
- 运算:
Less
中所有的数字,颜色或者变量都可以参与到运算当中(+、-、*、/); - 嵌套:注意嵌套和混合的区别,嵌套是样式的父子关系,而混合则是引用关系,可能同级引用,也可能不同级引用。
{
.list-box ul {
}
.list-box ul li {
}
.list-box ul li a {
}
a:hover {
}
.list-box {
margin: 20px auto;
width: 500px;
list-style: none;
ul {
};
li {
list-style: none;
height: 30px;
line-height: 30px;
background-color: pink;
margin-bottom: 5px;
padding: 0 10px;
a {
}
}
a {
float: left;
text-decoration: none;
&:hover {
color: red;
};
};
span {
float: right;
}
}
}
- 避免编译:有时我们不需要
Less
对我们的代码进行编译或者计算,则需要避免编译。
{
.test-translate {
width: calc(300px - 270px);
width: ~'calc(300px - 270px)';
}
}