美文网首页
less 的使用

less 的使用

作者: 洛禾sunshime | 来源:发表于2019-03-04 13:44 被阅读0次

    安装

    $ npm install less -g
    
    ##变量
    使用 @ 符号定义变量
    

    变量

    使用 @ 符号定义变量

    @classname: main;
    @color: red;
    .@classname{
        background-color: @color;
    }
    

    混合

    先看一个 example.css 文件:

    #menu a {
        color: #111;
        border-top: dotted 1px black;
        border-bottom: solid 2px black;
    }
    
    #menu span {
        height: 16px;
        border-top: dotted 1px black;
        border-bottom: solid 2px black;
    }
    
    #menu p {
        color: red;
        border-top: dotted 1px black;
        border-bottom: solid 2px black;
    }
    

    可以看到上面三个样式中都有 border-top 和 border-bottom 两个属性,并且内容完全相同;在传统 CSS 写法中只能这样一遍有一遍的去书写重复的内容,在 Less 中通过将公共属性抽取出来作为一个公共类的方式规避这一点。
    // example2.less

    .bordered() {
        border-top: dotted 1px black;
        border-bottom: solid 2px black;
    }
    
    #menu a {
        color: #111;
        .bordered;
    }
    
    #menu span {
        height: 16px;
        .bordered;
    }
    
    #menu p {
        color: red;
        .bordered();
    }
    

    混合方式的总结:

    • 混合也是减少代码书写量的一个方法;
    • 混合的类名在定义的时候加上小括弧 (),那么在转译成 css 文件时就不会出现;
    • 混合的类名在被调用的时候加上小括弧 ()和不加上小括弧 ()是一样的效果,看个人习惯,如:第三行和第八行转译成 css 是一样的。

    函数

    .border-radius(@radius) {
      -webkit-border-radius: @radius;
         -moz-border-radius: @radius;
              border-radius: @radius;
    }
    
    #header {
      .border-radius(4px);
    }
    .button {
      .border-radius(6px);
    }
    

    父子元素的写法

    .container {
        padding: 0;
        .article {
            background-color: red;
        }
    }
    

    引入其他样式文件 @import

    @import "../../common/style/components.css";
    

    其实less的写法和sass的写法非常相似,不同的地方就是函数的写法和变量的定义方式不一样,在适配移动端的时候我们可以用less自适应的方式来配置,而sass可以通过多媒体查询的方式进行适配。

    不喜勿喷哈,希望大家多多指点!!

    相关文章

      网友评论

          本文标题:less 的使用

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