sass、less是什么,如何使用?

作者: 远望的云 | 来源:发表于2017-06-21 10:49 被阅读2216次

    1.背景介绍

    CSS 是一门非程序式语言,没有变量、函数、SCOPE(作用域),需要书写大量看似没有逻辑的代码,不方便维护及扩 展,不利于复用,尤其对于非前端开发工程师来讲,往往会因为缺少 CSS 编写经验而很难写出组织良好且易于维护的 CSS 代码。为了方便前端开发的工作量,出现了sass和less.

    2.知识解剖

    Sass背景介绍

    Sass是对CSS(层叠样式表)的语法的一种扩充,诞生于2007年,最早也是最成熟的一款CSS预处理器语言,它 可以使用变量、常量、嵌套、混 入、函数等功能,可以更有效有弹性的写出CSS。Sass最后还是会编译出合法 的CSS让浏览器使用,也就是说它本身的语法并不太容易让浏览器识别,因为 它不是标准的CSS格式,在它的 语法内部可以使用动态变量等,所以它更像一种极简单的动态语言。 其实现在的Sass已经有了两套语法规则:一个依旧是用缩进作为分隔符来区分代码块的;另一套规则和CSS一 样采用了大括号({})作为分隔符。后一种语法规则又名SCSS,在Sass3之后的版本都支持这种语法规则。

    SASS是什么?

    Sass(Syntactically Awesome Style Sheets)是一个相对新的编程语言,Sass为web前端开发而生,可以用它来定 义一套新的语法规则和函数,以加强和提升CSS。通过这种新的编程语言,你可以使用最高效的方式,以少量的代 码创建复杂的设计。它改进并增强了CSS的能力,增加了变量,局部和函数这些特性。而这只使Sass一部分利器!

    SASS的安装

    SASS是Ruby语言写的,但是两者的语法没有关系。不懂Ruby,照样使用。只是必须先安装Ruby,然后再安装SASS。

    WINDOW下安装RUBY链接

    在系统上运行来安装Ruby。添加Ruby的bin文件夹到PATH用户变量和系统变量以使用 gem 命令工作,第二个和第三个框去要打勾。

    在系统中打开命令提示符,然后输入以下命令行

    gem source -ahttp://rubygems.org/

    gem sources -ahttp://ruby.taobao.org/

    gem install sass

    出现屏幕下方信息,表示SASS 安装成功,(国内线路不稳定,需要多试几次)。

    SASS使用-文件明后缀

    sass有两种后缀名文件:一种后缀名为sass,不使用大括号和分号;另一种就是我们这里使用的scss文件,这种和 我们平时写的css文件格式差不多,使用大括号和分号。而本教程中所说的所有sass文件都指后缀名为scss的文件。 在此也建议使用后缀名为scss的文件,以避免sass后缀名的严格格式要求报错。

    sass的导入

    sass的导入(@import)规则和CSS的有所不同,编译时会将@import的scss文件合并进来只生成一个CSS文件。但是如 果你在sass文件中导入css文件如@import 'reset.css',那效果跟普通CSS导入样式文件一样,导入的css文件不会 合并到编译后的文件中,而是以@import方式存在。 所有的sass导入文件都可以忽略后缀名.scss。一般来说基础的文件命名方法以_开头,如_mixin.scss。这种文件在 导入的时候可以不写下划线,可写成@import "mixin"

    sass的导入

    sass的注释

    LESS的背景介绍

    (2009年开源的一个项目,受Sass的影响较大,但又使用CSS的语法,让大部分开发者和设计师更容易上手。LESS提供了 多种方式能平滑的将写好的代码转化成标准的CSS代码。

    LESS的介绍

    第一个,less是单独的一种文件,可以理解为css的升级版,完全按照css写也没问题,不过它提供了很多便利的东 西, 可以省好多代码量。第二个,html只认css,所以需要配套一些软件将less解析成css,引用时候,直接引用css 就好。gulp,koala 都是常用的,Koala好像简单且方便一点。 多种方式能平滑的将写好的代码转化成标准的CSS代码。

    LESS的安装

    LESS的安装和Sass安装有所不同,他不需要依赖于Ruby环境,就能直接安装使用。不过LESS安装分为两种:客户端和 服务器端安装。

    less客户端安装

    我们可以直接在客户端使用“.less”(LESS源文件),只需要在官网载一个Javascript脚本文件主“less.js”,然后 在我们需要引入LESS源文件的HTML的中加入如下代码。

    需要注意的是:在引入“.less”文件中,“link”的“rel”属性要设置为“stylesheet/less”。还有更重要的一 点需要注意的是:LESS源文件一定要在“less.js”引入之前引入,这样才能保证LESS源文件正确编译解析。到这里就已经安装好了。

    less的使用

    使用less,css文件的后缀名需要改为.less在html页面中加入下面代码。

    less定义变量

    less样式嵌套

    less嵌套规则

    名称更为简短,并修改时易查找。

    less样式的运算

    less样式的传参

    4.常见问题

    SASS/SCSS、LESS有什么区别?

    4.解析问题

    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语法编写。

    5.参考文献

    参考一:SASS入门教程及用法指南

    参考二:深入理解CSS块级(block)元素和内联(inline)元素

    参考三:初步认识 LESS

    参考四:sass、less和stylus的安装使用和入门实践

    参考五:sass语法

    参考六:less的一些用法整理

    参考七:LESS使用简介

    相关文章

      网友评论

      本文标题:sass、less是什么,如何使用?

      本文链接:https://www.haomeiwen.com/subject/kqmzqxtx.html