首页 / 大前端 / Less和Sass的区别

Less和Sass的区别

2020-12-31 12:31 大前端 阅读 3286 来源

在前端的日常开发中,我们肯定少不了使用Css进行页面的美化,但是Css的缺点也是暴露无遗的。

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

这些缺点会让我们导致做大量的重复工作,从而极大拉低了我们的开发效率。而css预处理的推出,可以帮我们很好的解决这个问题,预处理器的优点

  • 复用机制
  • 减少冗余代码
  • 提高样式代码的可维护性

比较火的css预处理器一个是Less一个是Sass下面我们对他的不同之处进行一个对比

一、运行环境不同

Sass基于Ruby,需要安装Ruby。Less和Sass在Ruby中构建相似,但它已被移植到JavaScript中。为了使用LESS,我们可以将适用的JavaScript文件上载到服务器或通过脱机编译器编译CSS表。

二、编写变量的方式不同

Sass使用$,而Less使用@。

三、功能上,Sass略强大

sass有变量和作用域。
- $variable,like php;
- #{$variable}like ruby;
- 变量有全局和局部之分,并且有优先级。


sass有函数的概念;
- @function和@return以及函数参数(还有不定参)可以让你像js开发那样封装你想要的逻辑。
-@mixin类似function但缺少像function的编程逻辑,更多的是提高css代码段的复用性和模块化,这个用的人也是最多的。
-ruby提供了非常丰富的内置原生api。

进程控制:
-条件:@if @else;
-循环遍历:@for @each @while
-继承:@extend
-引用:@import

数据结构:
-$list类型=数组;
-$map类型=object;
其余的也有string、number、function等类型

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

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

以上就是Less和Scss的基本区别,希望对大家在开发项目中的技术选型有一定帮助。

猜你喜欢