saas(sccs)、less、stylus三者的区别

saas(sccs)lessstylus三者的区别

在用css写样式的时候,我们可以发现css是存在着挺多的问题的,列举一二如下:
1、css语法不够强大,比如css的选择器无法进行嵌套,导致css中存在较多重复的选择器语句;
2、css无法定义变量以及没有合理的样式复用机制,导致整体css样式难以维护;
于是,css预处理器应运而生,目前较为常用的sass(scss)、stylus、less都是其中的佼佼者,我在项目中曾用过其中的scss和stylus,今天来总结一下它们的区别。

一、变量
  1. Sass声明变量必须是$开头,后面紧跟变量名和变量值,而且变量名和变量值需要用冒号(:)分隔开;
  2. Less声明变量用@开头,其余等同Sass;
  3. stylus中声明变量没有限定,但变量名和变量值之间必须要有等号;
二、嵌套

三种预处理器的选择器嵌套在使用上来说没有任何区别,引用父级选择器的标记&也相同

三、继承

1.Saas和Stylus的继承如出一辙,能把一个选择器的所有样式继承到另一个选择器上,使用@extend开始,后面接被继承的选择器;
2.Less独树一帜地用伪类来描述继承关系;

四、导入@import的区别

1.Saas中只能使用url()表达式引入时进行变量插值;

$device:mobile;
@import url(style.#{$device}.css);

2.Less中可以在字符串中进行插值;

@device:mobile
@import "styles.@{device}.css";

3.Stylus中无法使用插值,但可以利用字符串拼接来实现;

device="mobile";
@import "styles."+device+".css"
五、总结

1.Sass和less语法严谨,Stylus相对自由;
2.Sass和Stylus都具有类语言的逻辑方式处理:条件、循环等,而Less需要通过when等关键词来模拟这些功能,在这些方面less比不上Sass和Stylus;
3.Less 在丰富性以及特色上都不继Saas和Stylus,但boostrap引入了Less;

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值