一、相同之处:
Less和Sass在语法上有些共性,比如下面这些:
1、混入(Mixins)——class中的class;
2、参数混入——可以传递参数的class,就像函数一样;
3、嵌套规则——Class中嵌套class,从而减少重复的代码;
4、运算——CSS中用上数学;
5、颜色功能——可以编辑颜色;
6、名字空间(namespace)——分组样式,从而可以被调用;
7、作用域——局部修改样式;
8、JavaScript 赋值——在CSS中使用JavaScript表达式赋值。
二、两者区别:
1、Less在JS上运行,Sass在Ruby上使用
Sass基于Ruby,需要安装Ruby。Less和Sass在Ruby中构建相似,但它已被移植到JavaScript中。为了使用LESS,我们可以将适用的JavaScript文件上载到服务器或通过脱机编译器编译CSS表。
2、处理机制不同
Sass通过服务端处理;而Less客户端处理,解析比Sass慢一点。
3、编写变量的方式不同
Sass使用$;而Less使用@。
4、在Less中,仅允许循环数值
在Sass中,我们可以遍历任何类型的数据;但在Less中,我们只能使用递归函数循环数值。
5、Sass有Compass,Less有Preboot
Sass和LESS有可用于集成mixins的扩展(在整个站点中存储和共享CSS声明的能力)。
Sass有适用于mixins的Compass,其中包括所有可用的选项以及未来支持的更新。
LESS有Preboot.less,LESS Mixins,LESS Elements,gs和Frameless。LESS的软件支持比Sass更加分散,导致许多不同的扩展选项可能不会以相同的方式运行。对于项目,我们可能需要所有列出的扩展以获得与Compass类似的性能。