一.介绍
Less/Sass这样的基于CSS的另一种语言,通过工具编译成CSS,添加了很多CSS不具备的特性。
二.安装和使用
Less:
Node.js环境中使用:
npm install lesslessc 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-sassnode-sass xxx.scss
三.嵌套和变量
Less:
1@bgColor: red;2.container{3background: lighten(@bgColor,20%);4.nav{5...6}7}Sass(Sass嵌套没有花括号,SCSS是其升级版本,嵌套有花括号):
1$bgColor: red;2.container{3background: 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