第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

相關文章
相關標籤/搜索