sass、less、stylus选哪个好呢?_(:з」∠)_
其实哪个都差不多,基础语法都很相似,我说一下我知道的吧,less
属于那种很普通很正常的,scss/sass
属于复杂一些的(我个人感觉可以把css玩成js),多了很多功能比如:变量、嵌套、运算,混入、继承、颜色处理,函数等(部分功能less
也有),至于stylus
,我也没有接触过。如果想快速上手的话,我感觉less
就可以
3 回答1.5k 阅读✓ 已解决
2 回答1k 阅读
2 回答2.5k 阅读✓ 已解决
2 回答1.8k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
1 回答1.1k 阅读✓ 已解决
各有千秋
Sass/Scss
sass 分为 sass 和 scss 两个语法分支,scss 是兼容 css 的写法,很容易上手,同时继承了 sass 的优点,用的比较多的是 scss ,sass 的语法则是用缩进来代替花括号、省略了结尾分号。
sass 和 scss 两种语法不可同时混用
在之前 ,sass 还有个依赖的问题。从前期依赖 Ruby ,后来 Node 的依赖 node-sass(国内不易安装),这些都可能是问题。到现在以 dart-sass 为主,其速度更快且易安装,因为 scss 兼容 css 写法,写起来更容易上手,像 bootstrap、Element 也在使用 scss 作为 css 预处理器使用。
Less
日常开发 Less 和 Scss 差不多,都是偏原生语法,比较容易接纳,less 有个优势就是可以“不用编译”,为啥加引号呢,因为它确实可以做到不手动编译,在引入 less 的后面引入 less.js 即可,但是作为最佳实践,你始终应该去编译它,因为大多数情况下,编译它并不会花掉你太多时间。
Stylus
stylus 采用了 sass 类似的缩进来表示层级,以及省略了分号等等,声明变量也不再需要
$
或者@
符号,变量名和变量值之间使用=
作为分隔同时 stylus 允许传统 css 语法和 stylus 语法混用。
因为其精简的太多,代码量可以更少,但是阅读起来可能不是那么美妙。
End
就个人而言,一直使用的 sass 的 scss 语法,因为其作为 css 预处理已经足够强大,而且写法也比较偏原生 css ,可以更好的上手,其实,这根本也谈不上一门语言,因为其也不会太复杂