第1章 Sass简介

什么是 CSS 预处理器?

定义:css

CSS 预处理器定义了一种新的语言,其基本思想是,用一种专门的编程语言,为 CSS 增长了一些编程的特性,将 CSS 做为目标生成文件,而后开发者就只要使用这种语言进行编码工做。前端

通俗的说,“CSS 预处理器用一种专门的编程语言,进行 Web 页面样式设计,而后再编译成正常的 CSS 文件,以供项目使用。CSS 预处理器为 CSS 增长一些编程的特性,无需考虑浏览器的兼容性问题”,例如你能够在 CSS 中使用变量简单的逻辑程序函数(如右侧代码编辑器中就使用了变量$color)等等在编程语言中的一些基本特性,可让你的 CSS 更加简洁适应性更强可读性更佳更易于代码的维护等诸多好处。编程

其它 CSS 预处理器语言:浏览器

CSS 预处理器技术已经很是的成熟,并且也涌现出了不少种不一样的 CSS 预处理器语言,好比说:sass

  • Sass(SCSS)
  • LESS
  • Stylus
  • Turbine
  • Swithch CSS
  • CSS Cacheer
  • DT CSS

如此之多的 CSS 预处理器,那么“我应该选择哪一种 CSS 预处理器?”也相应成了最近网上的一大热门话题,在 LinkedinTwitterCSS-Trick知乎以及各大技术论坛上,不少人为此争论不休。相比过去咱们对是否应该使用 CSS 预处理器的话题而言,这已是很大的进步了。编程语言

到目前为止,在众多优秀的 CSS 预处理器语言中就属 SassLESS 和 Stylus 最优秀,讨论的也多,对比的也多。本教程将着重向你们介绍 CSS 预处理器中的 Sass。相信前端开发工程师会喜欢的。编辑器

 

 

什么是 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 和 SCSS 实际上是同一种东西,咱们平时都称之为 Sass,二者之间不一样之处有如下两点:

  1. 文件扩展名不一样,Sass 是以“.sass”后缀为扩展名,而 SCSS 是以“.scss”后缀为扩展名
  2. 语法书写方式不一样,Sass 是以严格的缩进式语法规则来书写,不带大括号({})和分号(;),而 SCSS 的语法书写和咱们的 CSS 语法书写方式很是相似。

先来看一个示例:

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/SCSS 和纯 CSS 写法差不少吗?

写法差不少吗?这是不少初学者会问的一个问题。那么借此机会简单了解一下。

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”便可使用。

 

文章来自:http://www.imooc.com/code/6374

相关文章
相关标签/搜索