Less和Sass

一.介绍

Less/Sass这样的基于CSS的另一种语言,通过工具编译成CSS,添加了很多CSS不具备的特性。

二.安装和使用

  • Less:

    • Node.js环境中使用:

      • npm install less

      • lessc xxx.less

    • 浏览器环境中使用

      • <link rel="stylesheet/less" type="text/css" href="styles.less" />

      • <script src="//cdnjs.cloudflare.com/ajax/libs/less.js/3.10.0-beta/less.min.js" ></script>

  • Sass:

    • npm install node-sass

    • node-sass xxx.scss

三.嵌套和变量

  • Less:

1 @bgColor: red;
2 .container{
3   background: lighten(@bgColor,20%);
4   .nav{
5     ...
6   }
7 }
  • Sass(Sass嵌套没有花括号,SCSS是其升级版本,嵌套有花括号):

1 $bgColor: red;
2 .container{
3   background: lighten($bgColor,20%);
4   .nav{
5     ...
6   }
7 }

四.mixin代码复用

  • Less:

1 .box1{...}//可以传参数.box1{@xxx}
2 .box2{
3   .box1();//.box1(@xxx);
4   ...  
5 }
  • Sass:

1 @mixin box1($xxx){...}
2 .box1{
3   @include box($xxx);
4   ...
5 }

五.extend

mixin直接复制代码(用于复杂场景),extend提取选择器,把公共样式写在一起。

  • Less:

 1 .block{...}
 2 .container{
 3   .nav:extend(.block){
 4     ...
 5   }
 6   .content{
 7     &:extend(.block);
 8     ...
 9   }
10 }
  • Sass:

 1 .block{...}
 2 .container{
 3   .nav{
 4     @extend .block;
 5     ...
 6   }
 7   .content{
 8     @extend .block;
 9     ...
10   }
11 }

六.import

1 //多个import写在一起编译后会在一起
2 @import "./xxx";
3 @import "./yyy";

七.预处理框架

提供现成mixin,类似JS类库,封装常用功能。

  • Less:Lesshat/EST

  • Sass:Compass

原文地址:https://www.cnblogs.com/M-M-Monica/p/10046525.html