Less与Sass 对比及选用
我现在带团队开发sass框架,为啥选sass不是less?
相比less,sass现在更像一门正规的编程语言。
1、sass有变量和作用域。
- $variable,like php;
- #{$variable}like ruby;
- 变量有全局和局部之分,并且有优先级。
2、sass有函数的概念;
- @function和@return以及函数参数(还有不定参)可以让你像js开发那样封装你想要的逻辑。
-@mixin类似function但缺少像function的编程逻辑,更多的是提高css代码段的复用性和模块化,这个用的人也是最多的。
-ruby提供了非常丰富的内置原生api。
3、进程控制:
-条件:@if @else;
-循环遍历:@for @each @while
-继承:@extend
-引用:@import
4、数据结构:
-$list类型=数组;
-$map类型=object;
其余的也有string、number、function等类型(当然还有奇葩的更适合css的color类型等)
5、scss:为了和less竞争而全兼容css
-说白了sass就是scss的严格模式。
以上,不觉得sass已经具备了一个很nb的编程模式么。所以我架构设计我公司的框架就选择了sass。
当然得说下,编译,目前来说sass基于ruby,编译上不如less.js那么直接,同时现在的开发工具也没有相应的sass编码提示,这是我认为还欠缺需要弥补的地方。
and sass目前提供的越来越复杂的编程方法和越来越多的ruby内置api绝大部分不适合现在的css一线业务开发,更适合面向框架开发者,因此是我的菜~
掩面而逃~
赞 (0)