sass、scss 和 less的异同

什么是Sass、scss和Less?
它们都属于CSS预处理器。

先说一下scss和sass的关系
Sass是缩排语法,对于习惯css的web开发者来说很不直观,还是有点学习成本,也不能将css代码加入到sass里面,因此sass语法进行了改良,Sass 3就变成了Scss(sassy css)。与原来的语法兼容,只是用{}取代了原来的缩进,更容易阅读。

再回到css预处理,它是定义了一种新的语言,其基本思想是,用一种专门的编程语言,为css增加了一些编程的特性,将CSS作为目标生成文件,然后开发者就只要使用这种语言进行CSS的编码工作。通俗地说就是“用一种专门的编程语言,进行Web页面样式设计,再通过编译器转化为正常的CSS文件,以供项目使用”。

为什么使用CSS预处理器?  
  CSS只是一个标记语言,不是编程语言,因此不可以自定义变量,不可以引用等等。

css有具体以下几个缺点:
  语法不够强大,比如无法嵌套书写,导致模块化开发中需要书写很多重复的选择器;

没有变量和合理的样式复用机制,使得逻辑上相关的属性值必须以字面量的形式重复输出,导致难以维护。

这就导致了我们在工作中无端增加了许多工作量。而使用CSS预处理器,提供CSS缺失的样式层复用机制、减少冗余代码,提高样式代码的可维护性。大大提高了开发效率。

但是,CSS预处理器也不是万金油,CSS的好处在于简便、随时随地被使用和调试。预编译CSS步骤的加入,让我们开发工作流中多了一个环节,调试也变得麻烦。更大的问题在于,预编译很容易造成后代选择器的滥用。

Sass和Less的区别

一、Less环境较Sass简单

Sass的安装需要安装Ruby环境,Less基于Javascript,是需要引入Less.js来处理代码输出css到浏览器,也可以在开发环节使用Less,然后编译成css文件,直接放在项目中。

二、Less使用较Sass简单

Less并没有裁剪CSS原有的特性,而是在现有CSS语法的基础上,为CSS加入程序式语言的特性。

三、Sass功能较Less强大

1、sass有变量和作用域

2、sass有函数的概念

3、进程控制

条件、循环遍历、继承、引用

4、数据结构

数组、map

四、Less和Sass处理机制不一样

前者是通过客户端处理的,后者是通过服务端处理,相比较之下前者解析会比后者慢一点。

关于变量在Less和Sass中的唯一区别就是Less用@,Sass用$

相同之处


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

1、混入(Mixins)——class中的class;
2、参数混入——可以传递参数的class,就像函数一样;
3、嵌套规则——Class中嵌套class,从而减少重复的代码;
4、运算——CSS中用上数学;
5、颜色功能——可以编辑颜色;
6、名字空间(namespace)——分组样式,从而可以被调用;
7、作用域——局部修改样式;
8、JavaScript 赋值——在CSS中使用JavaScript表达式赋值。
 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: SCSS、LESS和Sass都是CSS预处理器,它们的主要区别在于语法不同。 Sass是最早的CSS预处理器之一,它使用缩进式语法,不需要使用分号和大括号。而SCSS和LESS则使用类似于CSS的语法,使用分号和大括号来表示代码块。 SCSS和LESS都是在Sass的基础上发展而来的,它们在语法上更接近于CSS,因此更容易学习和使用。同时,它们也提供了更多的功能和特性,如变量、嵌套、混合等,可以帮助开发者更快速、更高效地编写CSS代码。 总的来说,SCSS和LESS是Sass的两个变种,它们的主要区别在于语法的不同,但它们都可以提高CSS的编写效率和可维护性。 ### 回答2: SCSS、LESS 和 SASS 都是 CSS 预处理器,能够提高 CSS 样式的可维护性、可重用性和可扩展性,它们的基本语法都差不多,但是还是有些区别。 SASS 是最早出现的一种 CSS 预处理器,它通过一种类似 Ruby 的语法来编写 CSS,支持类和变量的定义、模板引入和函数的拓展等功能。如果你之前学过 Ruby 或者对 Ruby 比较熟悉的话,那么使用 SASS 会相对容易些。 LESS 是一个较新的 CSS 预处理器,它使用的是类似于 CSS 的语法,比 SASS 更加容易学习,同时 LESS 提供有许多有用的功能,如变量、嵌套、运算、函数、作用域等。 SCSSSASS 的后续版本,兼容 CSS3 语法规范,和 LESS 一样,使用的是类似于 CSS 的语法,SCSS 是基于 SASS 的缩进语法上实现的一种新的语法,他集成了 CSS3 的新特性,例如:多层嵌套、混合、继承、变量、循环等。 总的来说,虽然三者语法有所不同,但本质上都是 CSS 预处理器,能够提升 CSS 的编写效率和可维护性。具体要选择哪种预处理器,可以根据个人的喜好和项目需求来决定,但是,当前 SCSS 的使用者最多,因为 SCSS 最为灵活且功效显著,同时也是现代前端技术中使用量最大的 CSS 预处理器之一。 ### 回答3: SCSS,LESS和SASS是三种常见的CSS预处理器。它们被用来编写更加简单、清晰、易于维护的CSS代码。这三种预处理器的共同点在于,它们都允许开发者使用变量、嵌套、混合、函数、继承等高级功能,从而提高CSS编写的效率和可读性。 然而,尽管这三种预处理器有很多相似之处,它们之间也有一些不同之处。 首先,它们的语法不同。Sass使用严格的缩进语法。而SCSS则更接近于CSS的语法,使用花括号和分号。LESS的语法则在两者之间,灵活性更强。 其次,它们的文件扩展名也有所不同。Sass使用“.sass”文件扩展名,SCSS使用“.scss”文件扩展名,而LESS使用“.less”文件扩展名。 另外,它们对于变量的声明也有所不同。在Sass中,使用“$”符号来声明变量。而在SCSS和LESS中,使用“@”符号来声明变量。 另外,它们的一些功能也不同。比如,Sass支持条件语句,而SCSS不支持。LESS可以使用循环,而Sass和SCSS则不能。 在实际使用中,选择使用哪种预处理器主要取决于个人偏好和项目需求。如果对 Sass 的缩进语法非常熟悉并且需要使用条件语句时,就可以选择 Sass。如果习惯了 CSS 的大括号语法并且对 Less 的循环和嵌套规则比较喜欢,就可以选择 Less。如果需要同时兼顾以上两点,SCSS 是个更好的选择。无论选择哪个,都需要理解基本的 CSS 语法和概念,这样才能更好地运用预处理器来提高工作效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

别放弃我还在努力

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值