less与sass的区别是什么?

less与sass的区别是什么?

Sass和Less都属于CSS预处理器;所谓CSS预处理器,就是用一种专门的编程语言,进行Web页面样式设计,再通过编译器转化为正常的CSS文件,以供项目使用。
less与sass的区别是什么?_第1张图片

为什么要使用CSS预处理器?

  • CSS的缺点:
    语法不够强大,比如无法嵌套书写,导致模块化开发中需要书写很多重复的选择器;没有变量和合理的样式复用机制,使得逻辑上相关的属性值必须以字面量的形式重复输出,导致难以维护。

  • CSS预编译的优点:
    可以提供CSS 缺失的样式层复用机制、减少冗余代码,提高样式代码的可维护性。大大提高了开发效率。

  • CSS预编译的缺点:
    CSS的好处在于简便、随时随地被使用和调试。预编译CSS步骤的加入,让我们开发工作流中多了一个环节,调试也变得更麻烦了。更大的问题在于,预编译很容易造成后代选择器的滥用。所以我们在实际项目中衡量预编译方案时,还是得想想,比起带来的额外维护开销,CSS预处理器有没有解决更大的麻烦。

区别:

1、Less在JS上运行,Sass在Ruby上使用。

Sass基于Ruby(Ruby,一种简单快捷的面向对象(面向对象程序设计)脚本语言),需要安装Ruby。Less和Sass在Ruby中构建相似,但它已被移植到JavaScript中。为了使用LESS,我们可以将适用的JavaScript文件上载到服务器或通过脱机编译器编译CSS表。

2、编写变量的方式不同。

Sass使用$,而Less使用@。

3、在Less中,仅允许循环数值。

在Sass中,我们可以遍历任何类型的数据。但在Less中,我们只能使用递归函数循环数值。

4、Sass有Compass(搜索引擎),Less有Preboot(Preboot 是一套完整且灵活的 LESS 工具集)

Sass和Less有可用于集成mixins的扩展(在整个站点中存储和共享CSS声明的能力)。

Sass有适用于mixins的Compass,其中包括所有可用的选项以及未来支持的更新。

Less有Preboot.less,Less Mixins,Less Elements,gs和Frameless。Less的软件支持比Sass更加分散,导致许多不同的扩展选项可能不会以相同的方式运行。对于项目,我们可能需要所有列出的扩展以获得与Compass类似的性能。

相同之处

Less和Sass在语法上有些共性,比如下面这些:

1、混入(Mixins)——class中的class;

2、参数混入——可以传递参数的class,就像函数一样;

3、嵌套规则——Class中嵌套class,从而减少重复的代码;

4、运算——CSS中用上数学;

5、颜色功能——可以编辑颜色;

6、名字空间(namespace)——分组样式,从而可以被调用;

7、作用域——局部修改样式;

8、JavaScript 赋值——在CSS中使用JavaScript表达式赋值。

你可能感兴趣的:(css,sass,less,ruby)