定义:css
CSS 预处理器定义了一种新的语言,其基本思想是,用一种专门的编程语言,为 CSS 增长了一些编程的特性,将 CSS 做为目标生成文件,而后开发者就只要使用这种语言进行编码工做。前端
通俗的说,“CSS 预处理器用一种专门的编程语言,进行 Web 页面样式设计,而后再编译成正常的 CSS 文件,以供项目使用。CSS 预处理器为 CSS 增长一些编程的特性,无需考虑浏览器的兼容性问题”,例如你能够在 CSS 中使用变量、简单的逻辑程序、函数(如右侧代码编辑器中就使用了变量$color)等等在编程语言中的一些基本特性,可让你的 CSS 更加简洁、适应性更强、可读性更佳,更易于代码的维护等诸多好处。编程
其它 CSS 预处理器语言:浏览器
CSS 预处理器技术已经很是的成熟,并且也涌现出了不少种不一样的 CSS 预处理器语言,好比说:sass
如此之多的 CSS 预处理器,那么“我应该选择哪一种 CSS 预处理器?”也相应成了最近网上的一大热门话题,在 Linkedin、Twitter、CSS-Trick、知乎以及各大技术论坛上,不少人为此争论不休。相比过去咱们对是否应该使用 CSS 预处理器的话题而言,这已是很大的进步了。编程语言
到目前为止,在众多优秀的 CSS 预处理器语言中就属 Sass、LESS 和 Stylus 最优秀,讨论的也多,对比的也多。本教程将着重向你们介绍 CSS 预处理器中的 Sass。相信前端开发工程师会喜欢的。编辑器
Sass 官网上是这样描述 Sass 的:函数
Sass 是一门高于 CSS 的元语言,它能用来清晰地、结构化地描述文件样式,有着比普通 CSS 更增强大的功能。 Sass 可以提供更简洁、更优雅的语法,同时提供多种功能来建立可维护和管理的样式表。
Sass 前世此生:编码
Sass 是最先的 CSS 预处理语言,有比 LESS 更为强大的功能,不过其一开始的缩进式语法(Sass 老版本语法,后面课程会详细介绍 )并不能被大众接受,不过因为其强大的功能和 Ruby on Rails 的大力推进,仍是有不少开发者选择了 Sass。设计
Sass 是采用 Ruby 语言编写的一款 CSS 预处理语言,它诞生于2007年,是最大的成熟的 CSS 预处理语言。最初它是为了配合 HAML(一种缩进式 HTML 预编译器)而设计的,所以有着和 HTML 同样的缩进式风格。
为何早期不如 LESS 普及?
虽然缩进式风格能够有效缩减代码量,强制规范编码风格,但它一方面并不为大多数程序接受,另外一方面没法兼容已有的 CSS 代码。这也是 Sass 虽然出现得最先,但远不如 LESS 普及的缘由。
Sass 和 SCSS 实际上是同一种东西,咱们平时都称之为 Sass,二者之间不一样之处有如下两点:
先来看一个示例:
Sass 语法
$font-stack: Helvetica, sans-serif //定义变量 $primary-color: #333 //定义变量 body font: 100% $font-stack color: $primary-color
SCSS 语法
$font-stack: Helvetica, sans-serif; $primary-color: #333; body { font: 100% $font-stack; color: $primary-color; }
编译出来的 CSS
body { font: 100% Helvetica, sans-serif; color: #333; }
提示:小伙伴们能够看出来,咱们的右侧代码使用的是 SCSS 语法方式(咱们的代码编辑器不支持 Sass 语法方式噢!)。
写法差不少吗?这是不少初学者会问的一个问题。那么借此机会简单了解一下。
Sass 和 CSS 写法有差异:
Sass 和 CSS 写法的确存在必定的差别,因为 Sass 是基于 Ruby 写出来,因此其延续了 Ruby 的书写规范。在书写 Sass 时不带有大括号和分号,其主要是依靠严格的缩进方式来控制的。如:
Sass写法:
body color: #fff background: #f36
而在 CSS 咱们是这样书写:
body{ color:#fff; background:#f36; }
SCSS 和 CSS 写法无差异:
SCSS 和 CSS 写法无差异,这也是 Sass 后来愈来愈受大众喜欢缘由之一。简单点说,把你现有的“.css”文件直接修改为“.scss”便可使用。