sass和less与sass区别的区别在哪里?


Sass和less与sass区别都算是一种编程语言(後面会详谈此处牵扯出来的编程语言)都是CSS预处理器,都具有相同的功能可以帮助我们快速编译CSS代码,

细一点来说:Sass是一种动态样式語言Sass语法的缩排语法,比CSS比多出很多功能如变量,嵌套运算,继承颜色处理,函数等易于阅读。
Sass是基于ruby运行的(就好比HTML文件是基于浏览器运行的)Sass是在服务器端处理的,而less与sass区别是基于JavaScript所以,less与sass区别是在客户端处理的这就是Sass和less与sass区别的实现区别。

所以很多開发者不选择less与sass区别可能就是因为JavaScript引擎需要额外的时间来处理代码。(我乱猜的)

但less与sass区别和Sass在语法上有些共性比如下面这些:

参數混入——可以传递参数的class,就像函数一样;

嵌套规则——Class中嵌套class从而减少重复的代码;

运算——CSS中加入数学运算;

颜色功能——可以编辑颜色;

名字空间(namespace)——分组样式,从而可以被调用;

作用域——局部修改样式;


我们所说的CSS和HTML算不算编程语言呢答案是No,即HTML囷CSS都不是一种编程语言(HTML我在讲Markdown的那篇文章里也提到过),HTML(超文本标记语言)是结构化文档,就算是数据结构的一种(变体)吧,CSS(层叠样式表)就是渲染引擎的怎么运作的配置文件,只能算是一种数据。

其实判定它们是不是编程语言的界限是看它们具备不具备图灵完备(下面会细说图靈完备)。解释图灵完备之前我们再来解释一个小问题:我们经常提到的HTML5(H5)又是什么呢?

2.详细的说:在狭义上HTML5也是不具备图灵完备所以不算编程语言,它包含的是HTML等基础标记
而在广义上,HTML5感觉更像一个平台而不是一种语言。有人也把 CSS3 划归到HTML5里面更具划时代意义嘚是HTML5 提供了很多 js 的api,通过 js 调用这些api可以做到很多完备编程语言的事情

那我们把HTML5怎么称呼合适呢?其实HTML5叫做一种代码规范标准更合适HTML作為一门标记语言,更重要的作用是作为信息的呈现载体注重信息的呈现形式。而HTML5中出现了很多的新特性但总体还是更偏重于信息的呈現方式,而不是对信息本身的处理


图灵完备性是针对一套数据操作规则而言的概念。数据操作规则可以是一门编程语言也可以是计算機里具体实现了的指令集。当这套操作规则可以实现图灵机模型里的全部功能时就称它具有图灵完备性。

所以计算机编程语言都是图灵唍备的说的再直白一点,就是一门编程语言里是有逻辑判断(例如ifelseif判断),循环(例如for循环)和函数要有代码的复用性。 CSS和HTML都不具备这些吧

这就是为什么HTML和CSS不是编程语言,而Sass和less与sass区别算一门编程语言当然,对于部分开发人员来说究竟谁是不是编程语言可能无关紧要,只要会运用它们就行嘿嘿~。(暂完)

如有不足和不对的地方希望各位看客大牛指点迷津,感谢

}

我要回帖

更多关于 less与sass区别 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信