less

作者: 乖乖果效36 | 来源:发表于2017-02-18 22:31 被阅读28次

什么是LESS

LESSCSS是一种动态样式语言,属于CSS预处理语言的一种,它使用类似CSS的语法,为CSS的赋予了动态语言的特性,如变量、继承、运算、函数等,更方便CSS的编写和维护。

LESSCSS可以在多种语言、环境中使用,包括浏览器端、桌面客户端、服务端。

语言特性快速预览:

变量:

变量允许我们单独定义一系列通用的样式,然后在需要的时候去调用。所以在做全局样式调整的时候我们可能只需要修改几行代码就可以了。

LESS源码:

@color:#4D926F;
#header{
    color:@color;
}
h2{
    color:@color;
}```

编译后的CSS:

header{

color:#4D926F;

}
h2{
color:#4D926F;
}```

混合(Mixins)

混合可以将一个定义好的class A轻松的引入到另一个class B中,从而简单实现class B继承class A中的所有属性。我们还可以带参数地调用,就像使用函数一样。

LESS源码:

.rounded-corners(@radius:5px) {
    -webkit-border-radius:@radius;
    -moz-border-radius:@radius;-ms-border-radius:
    radius;-o-border-radius:@radius;
    border-radius:@radius;
}
#header{
    .rounded-corners;
}
#footer{
    .rounded-corners(10px);
}```

编译后的CSS:

header{

-webkit-border-radius:5px;
-moz-border-radius:5px;
-ms-border-radius:5px;
-o-border-radius:5px;
border-radius:5px;

}

footer{

-webkit-border-radius:10px;
-moz-border-radius:10px;
-ms-border-radius:10px;
-o-border-radius:10px;
border-radius:10px;

}````

嵌套

我们可以在一个选择器中嵌套另一个选择器来实现继承,这样很大程度减少了代码量,并且代码看起来更加的清晰。

LESS源码:
注:&”引用自身

#header{
    h1{
        font-size:26px;
        font-weight: bold;
    }
    p{
        font-size:12px;
        a{
            text-decoration: none;
            &:hover{border-width:1px}
        }
    }
}```

编译后的CSS:

header h1{

font-size:26px;
font-weight: bold;

}

header p{

font-size:12px

;}

headerp a{

text-decoration: none;

}

headerp a:hover{

border-width:1px;

}```

函数和运算

运算提供了加,减,乘,除操作;我们可以做属性值和颜色的运算,这样就可以实现属性值之间的复杂关系。LESS中的函数一一映射了JavaScript代码,如果你愿意的话可以操作属性值。

LESS源码:

@the-border:1px;
@base-color:#111;
@red:#842210;
#header{
    color: (@base-color*3);
    border-left:@the-border;
    border-right: (@the-border*2);
}
#footer{
    color: (@base-color+#003300);
    border-color: desaturate(@red,10%);
}```

编译后的CSS:

header{

color:#333;
border-left:1px;
border-right:2px;

}

footer{

color:#114411;
border-color:#7d2717;

}```

流程控制

分支结构

LESS源码:

@x:10px;
@y:10px;
.box(@type,@x,@y)when(@type=1){
    width:@x;
    height:@y;
}
(@type=0){
    width:@x*2;
    height:@y*2;
}
.left{
    background:red;
    .box(@type=1);
}
.right{
    background:green;
    .box(@type=1);
}```
编译后的CSS:

.left{
background:red;
width:10px;
height:10px;
}
.right{
background:green;
width:20px;
height:20px;
}```

相关文章

  • web前端学习线路图2

    十二、LESS教程 Less教程Less 安装Less 嵌套规则Less 操作Less 转义Less 函数 Les...

  • Vue项目使用less

    1 先下载less less-loader: npm i less less-loader -S 2 将less配...

  • vue使用less

    npm安装 less less-loader npm install --save less less-loade...

  • Less的使用

    Less使用 1.什么是less 2.less有什么用 3.怎么使用less 4.less批量生成代码 less简...

  • Sql-labs-page3

    less-38 (堆叠注入) 堆叠注入讲解 less-39 解题链接 less-40 less-41 less-...

  • 第十三周第一天笔记之less

    less知识 简书链接less使用总结:less基础知识less使用总结2:less使用总结 单位px,em,re...

  • less的介绍

    less是什么? less是css云处理器 全局安装less包 查看less是否安装成功 less完全兼容css ...

  • LESS/SASS学习记录

    LESS 参考资料:LESS官网w3cplus less入门教程 less的编译 less特性及语法 变量——V...

  • React脚手架如何支持less 2018-06-13

    1. 安装less、less-loader依赖包 a. yarn安装 yarn add less less-loa...

  • vue-cli 常见问题

    安装 less 和 less-loader ,在项目目录下运行如下命令 npm install less less...

网友评论

      本文标题:less

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