关于Sass和LessInvolved关于Sass和LessSass和Less都是一种编程语言(这里涉及到的编程语言后面会详细讨论),都是CSS预处理器,都具有相同的功能,即可以帮助我们快速编译CSS代码。更具体地说:Sass是一种动态样式语言,Sass语法的缩进语法比CSS多了很多功能,比如变量、嵌套、操作、继承、颜色处理、函数等等,易于阅读。Sass运行在ruby上(就像HTML文件运行在浏览器上一样),Sass是在服务器端处理的,而Less是基于JavaScript的,所以Less是在客户端处理的。这就是Sass和Less在实现上的区别。所以很多开发者不选择Less,可能是因为JavaScript引擎需要额外的时间来处理代码。(我胡乱猜的)但是Less和Sass在语法上有一些共同点,比如:●Mixins(混入)——类中的类;●参数混入——可以传递参数的类,就像函数一样;规则集——类嵌套在Class中,从而减少重复代码;运算——数学运算被添加到CSS;颜色功能——可以编辑颜色;;●Scope——局部修改样式;●JavaScript赋值——在CSS中使用JavaScript表达式赋值关于HTML和CSS我们所说的CSS和HTML算什么编程语言?答案是否定的,即HTML和CSS都不是编程语言(我在讲Markdown的文章中也提到了HTML),HTML(HypertextMarkupLanguage)是一种结构化的文档,即使是一种数据结构(Variant),CSS(CascadingStyleSheet)是渲染引擎如何工作的配置文件,只能算是一种数据。事实上,判断它们是否是编程语言的边界,取决于它们是否是图灵完备的(图灵完备性将在下面详细描述)。在解释图灵完备性之前,先解释一个小问题:我们常说的HTML5(H5)是什么?1.简单来说:HTML5是html+CSS3+jsapi的规范。2.说详细点:狭义上讲,HTML5不是图灵完备的,所以不能算是一种编程语言。它包含基本标签,例如HTML。从广义上讲,HTML5更像是一个平台而不是一种语言。也有人将CSS3归为HTML5。更划时代的是HTML5提供了很多js的API,很多完整的编程语言的东西都可以通过js调用这些API来完成。那么我们正确地称呼HTML5是什么?其实HTML5更适合称为代码规范标准。HTML作为一种标记语言,更重要的是作为信息的表现载体,关注信息的表现形式。HTML5中有很多新特性,但总体上强调的是信息的呈现而不是信息本身的处理。图灵完成了。现在让我们谈谈图灵完备性。图灵完备性是一组数据操作规则的概念。数据操作规则可以是编程语言,也可以是计算机中实现的指令集。当这套运算规则能够实现图灵机模型中的所有功能时,就称为图灵完备。所有的计算机编程语言都是图灵完备的。说得直白点,一门编程语言有逻辑判断(如if、elseif判断)、循环(如for循环)和函数,必须有代码复用性。CSS和HTML都没有这些,这就是为什么HTML和CSS不是编程语言,而Sass和Less是一种。当然,对于一些开发者来说,编程语言是谁的可能并不重要,只要会用就行,呵呵~。(暂告一段落)如有不足和错误,还望各位看官多多指教,谢谢。
