二者都是CSS的预处理器,主要区别如下:
- 语法风格
- less类似css的语法,可以使用{ }嵌套
- sass类似与python使用缩进来表示代码块
- 编译环境不同
- less通过js编译,靠客户端处理
- sass通过ruby环境编译,在服务端处理
- 变量符不同
- less采用@
- sass采用$
- 使用的工具库不同
- less有组件库 Bootstrap
- sass有工具库 Compass
- 引入外部文件的方式不同
- sass引用的外部文件名必须以_开头(默认_开头的文件是引用文件,不会编译)
- sass支持使用条件语句
- 继承
- less运用&:extend
- sass运用@extend
- 混入
- less像调用函数的方式直接引用
- sass先用@mixin定义一个代码块,再用@include调用
- 命名空间
- less可以使用#命名 然后再调用
那sass和scss又有什么关系呢?
Sass 和 Scss 其实是同一种东西,Scss 是 Sass 3 引入新的语法,我们平时都称之为 Sass,两者之间不同之处有以下两点:
-
文件扩展名不同,Sass 是以“.sass”后缀为扩展名,而 SCSS 是以“.scss”后缀为扩展名
-
语法书写方式不同,Sass 是以严格的缩进式语法规则,不带大括号和分号,而 SCSS 的语法书写和我们的 CSS 语法书写方式非常类似。