Less

383 阅读2分钟

Less介绍

Less 是一门 CSS 预处理语言,它扩充了 CSS 语言,增加了诸如变量、混合(mixin)、函数等功能,让 CSS 更易维护、方便制作主题、扩充。Less 可以运行在 Node 或浏览器端。

CSS预处理器框架与CSS后后处理器框架

CSS预处理器典型代表:SASS、Less、Stylus。CSS后处理器典型代表:cssnext(基于 PostCSS) 、myth(基于 Rework)

Less的嵌套

ul{
   color:red;
   li{  line-height:48px;
      a{text_decoration:none
         &:{color:#f70;}
       }
   }
}

Less 运算

Less 语言中支持运算,我们可以给变量进行一些运算操作,例如加 +、 减 -、乘 *、除 / 四个运算符,这四个运算符可以对任何数字、颜色或变量进行运算。一般运算符在进行加、减计算之前会进行单位换算。计算的结果以最左侧操作数的单位类型为准。如果单位换算无效或失去意义,则忽略单位。

示例:
<html>
    <head>
        <meta charset="utf-8">
        <title>Less学习(9xkd.com)</title>
        <link rel="styleSheet" type="text/css" href="./index.css">
    </head>
    <body>
        <div class="content">
            <h3>欢迎来到侠课岛!</h3>
            <p class="p1">这里是前端部分</p>
            <p class="p2">这里是Python部分</p>
        </div>
    </body>
</html> 

现在的需求是,我们要给上述内容设置字体大小,比如标题字体大小为 28px,第一段字体大小为 18px,第二段字体大小为 12px

然后我们可以创建一个 Less 文件,文件中的内容如下所示:

@fontsize:14px;

.content{
  h3{
    font-size: @fontsize * 2;
  }
  .p1{
    font-size: @fontsize + 4;
  }
  .p2{
    font-size: @fontsize - 2;
  }
}

其中定义了一个变量 @fontsize,值为 14px,然后可以对这个变量进行加减乘除运算,例如上面 h3 的字体大小被设置为 @fontsize * 2 ,14 乘以 2 等于28 等,其他同理。

下面为编译后的 CSS 代码:

.content h3 {
  font-size: 28px;
}
.content .p1 {
  font-size: 18px;
}
.content .p2 {
  font-size: 12px;
}

转义

转义(Escaping)允许你使用任意字符串作为属性或变量值。任何 ~"anything" 或 ~'anything' 形式的内容都将按原样输出,除非 interpolation。

@min768: ~"(min-width: 768px)";
.element {
@media @min768 {
font-size: 1.2rem;
}
}
编译为:

@media (min-width: 768px) {
.element {
font-size: 1.2rem;
}
}
注意,从 Less 3.5 开始,可以简写为:

@min768: (min-width: 768px);
.element {
@media @min768 {
font-size: 1.2rem;
}

注释

// 会隐藏
/* css  注释*/

导入

 使用@import命令来进行导入
 如果使用@import进行导入的时候,取决于不同的文件扩展名
 @import “xxx.less”;
 @import "xxx.css"