CSS 是一门非程序式语言,没有变量、函数、SCOPE(作用域),需要书写大量看似没有逻辑的代码,不方便维护及扩 展,不利于复用,为了让程序员更方便的开发,便研究出了Sass和less。
Sass是对CSS(层叠样式表)的语法的一种扩充一款CSS预处理器语言,它 可以使用变量、常量、嵌套、混 入、函数等功能,可以更有效有弹性的写出CSS。
less是单独的一种文件,可以理解为css的升级版,完全按照css写也没问题,不过它提供了很多便利的东 西, 可以省好多代码量。第二个,html只认css,所以需要配套一些软件将less解析成css,引用时候,直接引用css 就好。
SASS/SCSS、LESS有什么区别?
1.编译环境不一样
Sass的安装需要Ruby环境,是在服务端处理的,而Less是需要引入less.js来处理Less代码输出css到浏览器,也可 以在开发环节使用Less,然后编译成css文件,直接放到项目中,也有 Less.app、SimpleLess、CodeKit.app这样 的工具,也有在线编译地址。
2.变量符不一样,LESS是@,而SCSS是$,而且变量的作用域也不一样。
3.输出设置,LESS没有输出设置,SASS提供4中输出选项:NESTED, COMPACT, COMPRESSED 和 EXPANDED。
输出样式的风格可以有四种选择,默认为nested
nested:嵌套缩进的css代码
expanded:展开的多行css代码
compact:简洁格式的css代码
compressed:压缩后的css代码
4.SASS支持条件语句,可以使用IF{}ELSE{},FOR{}循环等等。而LESS不支持。
5.引用外部CSS文件。
scss引用的外部文件命名必须以_开头, 如下例所示:其中_test1.scss、_test2.scss、test3.scss文件分别设置 的h1 h2 h3。文件名如果以下划线开头的话,Sass会认为该文件是一个引用文件,不会将其编译为css文件。
6.SASS和LESS的工具库不同。
Sass有工具库Compass, 简单说,Sass和Compass的关系有点像Javascript和jQuery的关系,Compass是Sass的工具库。 在它的基础上,封装了一系列有用的模块和模板,补充强化了Sass的功能。 Less有UI组件库Bootstrap,Bootstrap是web前端开发中一个比较有名的前端UI组件库,Bootstrap的样式文件部分 源码就是采用Less语法编写。