LESS快速上手

作者: 年少有van | 来源:发表于2017-09-13 14:21 被阅读0次

Less可以让我们更高效的进行CSS开发,less文件最终会编译为css文件,用于我们的项目中。

在Less中,我们可以用变量保存某些属性值,达到复用的效果;可以用混合功能复用一些代码,用匹配模式实现一些逻辑,用嵌套功能明确层次;还可以在Less使用运算内置函数来得到最终的CSS代码。

Less中的注释

可以用/**/注释,也可以用//注释。

不过//的注释会在编译时过滤掉。

变量

Less中用@加上变量名来声明变量,比如:

@c1:blue;

混合

如下,有普通的混合,#div2使用#div1的样式;有可传参的混合,#div2使用.border的样式。

#div1{
    width:@w;
    height:@h;
    background-color:@c1;
}

#div2{
    #div1;
    .border(pink);
    background-color:@c2;
}

.border(@c){
    border:2px solid @c;
}

其中,.border传入的参数也可以默认带值:

.border(@c:black){
    border:2px solid @c;
}

混合可以用以多浏览器兼容,使写法更方便。比如解决border-radius的兼容:

.border_radius (@radius: 5px) {
    -webkit-border-radius: @radius;
    -moz-border-radius: @radius;
    border-radius: @radius;
}

匹配模式

根据传入条件匹配相应的样式。

.size(high,@w){
    height: 80px;
    width: @w;
}

.size(low,@w){
    height: 40px;
    width: @w;
}

#div3{
    .size(high,200px);
}

传入参数为high时,则使用条件为high的样式。

运算

可以对变量和值做加减乘除运算。

比如:

div{
    height:@h+10;
}

嵌套

传统CSS写法:

.list{}
.list li{}

嵌套写法:

.list{
    li{}
}

注意嵌套层数不能太多,影响性能。

另外,需要写伪类的时候,可以用&符号(&代表它的上一层选择器):

a{
    &:hover{}
}

其他

避免编译
div{
    ~'';
}

~符号加上引号,引号内的代码不会被编译。

!important

和CSS中的!important用法类似,可以用于Less的混合模式:

#div2{
    #div1 !important;
}

最后

这是一篇看完慕课网less即学即用教程做的笔记,非常感谢Busy老师。

不论是慕课网的这个视频教程,还是我写的这篇文章,都是讲快速入门的东西。Less变量的使用,还有Less中内置函数的使用,都还有更多的知识可以学习。

内置函数的使用可以参考官方文档函数手册

关于编译

Busy老师推荐的编译Less的工具是考拉,关于考拉工具我就不多说了,使用起来还是蛮方便的。

我个人使用Gulp作为前端构建工具,gulp-less插件可以编译less,还可以用gulp实现CSS代码压缩和自动刷新浏览器页面等功能,想了解的话可以查看用Gulp实现CSS压缩和页面自动刷新

相关文章

网友评论

    本文标题:LESS快速上手

    本文链接:https://www.haomeiwen.com/subject/rtuksxtx.html