SASs

SASs

Sass(英文全稱:Syntactically Awesome Stylesheets)是一個最初由Hampton Catlin設計並由Natalie Weizenbaum開發的層疊樣式表語言。在開發最初版本之後,Weizenbaum和Chris Eppstein繼續通過SassScript來繼續擴充Sass的功能。SassScript是一個在Sass檔案中使用的小型腳本語言。

Sass是一個將腳本解析成CSS腳本語言,即SassScript。Sass包括兩套語法。最開始的語法叫做“縮進語法”,與Haml類似[3],使用縮進來區分代碼塊,並且用回車將不同規則分隔開。而較新的語法叫做“SCSS”,使用和CSS一樣的塊語法,即使用大括弧將不同的規則分開,使用分號將具體的樣式分開。通常情況下,這兩套語法通過.sass和.scss兩個檔案擴展名區分開。

基本介紹

準則說明書,CSS製作框架,變數,嵌套,混入(Mixin),libSass,

準則說明書

SASs,Statements on Auditing Standards ,審計準則說明書。
在美國公眾公司會計監督委員會(PCAOB)成立之後,公眾公司的審計應當遵循PCAOB頒布的審計準則,ASB的規定只適用於非公眾公司審計。註冊會計師在執行非公眾公司審計時,應當充分了解審計準則說明書以判斷其是否適用於所執行的審計,並且確定偏離審計準則說明書的情況。
截止2010年7月,審計準則委員會共發布120項審計準則說明書。

CSS製作框架

Sass 擴展了 CSS3,增加了規則、變數、混入、選擇器、繼承等等特性。Sass 生成良好格式化的 CSS 代碼,易於組織和維護。
SASS是對CSS3(層疊樣式表)的語法的一種擴充,它可以使用巢狀、混入、選擇子繼承等功能,可以更有效有彈性的寫出Stylesheet。Sass最後還是會編譯出合法的CSS讓瀏覽可以使用,也就是說它本身的語法並不太容易讓瀏覽器識別(雖然它和CSS的語法非常的像,幾乎一樣),因為它不是標準的CSS格式,在它的語法內部可以使用動態變數等,所以它更像一種極簡單的動態語言。

變數

Sass支持定義變數。變數以美元符號($)作為開頭。變數用冒號(:)賦值
SassScript支持四種數據類型:
變數可以用作函式的參數或返回值。在解釋過程中,解釋器會把變數的值寫入最終的CSS檔案中。
SCSS語法的變數示例:
$blue: #3bbfce;$margin: 16px;.content-navigation {  border-color: $blue;  color: darken($blue, 10%);}.border {  padding: $margin / 2;  margin: $margin / 2;  border-color: $blue;}
Sass語法的變數示例:
$blue: #3bbfce$margin: 16px.content-navigation  border-color: $blue  color: darken($blue, 10%).border  padding: $margin/2  margin:  $margin/2  border-color: $blue
這兩段代碼會被解釋成:
.content-navigation {  border-color: #3bbfce;  color: #2b9eab;}.border {  padding: 8px;  margin: 8px;  border-color: #3bbfce;}

嵌套

CSS雖然支持嵌套但是不支持代碼塊的嵌套,而SCSS支持。這樣可更加清晰地表示元素之間的關係。
table.hl {  margin: 2em 0;  td.ln {    text-align: right;  }}li {  font: {    family: serif;    weight: bold;    size: 1.3em;  }}
會被解釋成:
table.hl {  margin: 2em 0;}table.hl td.ln {  text-align: right;}li {  font-family: serif;  font-weight: bold;  font-size: 1.3em;}
在Sass文檔中還可以看到有關名字空間、父級引用等的內容。

混入(Mixin)

Mixin包含一段合法Sass代碼,類似於C語言的宏定義。調用Mixin時,解釋器會將Mixin擴展成它所包含的完整的Sass代碼,因此可以有效地減少代碼重複,從而寫出更加乾淨的代碼。CSS不支持Mixin,因此重複和類似的代碼必須挨個書寫。
@mixin table-base {  th {    text-align: center;    font-weight: bold;  }  td, th {padding: 2px}}#data {  @include table-base;}
被解釋成
#data th {  text-align: center;  font-weight: bold;}#data td, #data th {  padding: 2px;}

libSass

在2012年HTML5開發者大會上,Sass的創建者Hampton Catlin宣布libSass 1.0版。libSass是一個由Catlin、Araon Leung和Moovweb開發團隊開發的開放原始碼的C++實現。Current Sass maintainer, Chris Eppstein, has expressed intent to contribute as well.
libSass的設計目標是:
  • 性能:開發者反映,C++的實現速度是Ruby實現的10倍。
  • 更容易集成:因為是一個C++庫,不必集成或實現Ruby解釋器,因此在自行開發軟體的時候事情會變得更容易。例如,libSass現在已經被套用到Node.jsGoRuby等環境。
  • 兼容性:libSass的目標是與Ruby實現完全兼容。但是目標尚未完全實現。

相關詞條

熱門詞條

聯絡我們