Scss與Sass是什麼

2020-12-23 18:00:42

Sass是採用Ruby語言編寫的一款CSS預處理語言;Sass能夠提供更簡潔、更優雅的語法,同時提供多種功能來建立可維護和管理的樣式表。Scss是Sass3引入新的語法,是CSS3語法的超集,說白了Scss就是Sass的升級版。

推薦:

Sass是什麼

Sass 是一門高於 CSS 的元語言,它能用來清晰地、結構化地描述檔案樣式,有著比普通 CSS 更加強大的功能。Sass 能夠提供更簡潔、更優雅的語法,同時提供多種功能來建立可維護和管理的樣式表。

Sass 是採用 Ruby 語言編寫的一款 CSS 預處理語言,它誕生於2007年,是最大的成熟的 CSS 預處理語言。最初它是為了配合HAML(一種縮排式 HTML 預編譯器)而設計的,因此有著和 HTML 一樣的縮排式風格。SASS是CSS3的一個擴充套件,增加了規則巢狀、變數、混合、選擇器繼承等等。通過使用命令列的工具或WEB框架外掛把它轉換成標準的、格式良好的CSS程式碼。

Sass官方網站:http://sass-lang.com

Scss是什麼

Scss 是 Sass 3 引入新的語法,是Sassy CSS的簡寫,是CSS3語法的超集,也就是說所有有效的CSS3樣式也同樣適合於Sass。說白了Scss就是Sass的升級版,其語法完全相容 CSS3,並且繼承了 Sass 的強大功能。也就是說,任何標準的 CSS3 樣式表都是具有相同語意的有效的 SCSS 檔案。另外,SCSS 還能識別大部分 CSS hacks(一些 CSS 小技巧)和特定於瀏覽器的語法,例如:古老的 IE filter 語法。

由於 Scss 是 CSS 的擴充套件,因此,所有在 CSS 中正常工作的程式碼也能在 Scss 中正常工作。也就是說,對於一個 Sass 使用者,只需要理解 Sass 擴充套件部分如何工作的,就能完全理解 Scss。大部分擴充套件,例如變數、parent references 和 指令都是一致的;唯一不同的是,SCSS 需要使用分號和花括號而不是換行和縮排。

Scss 與 Sass異同

Sass 和 Scss 其實就是同一種東西,我們平時都稱之為 Sass,兩者之間不同之處主要有以下兩點:

1.副檔名不同,Sass 是以「.sass」字尾為擴充套件名,而 Scss 是以「.scss」字尾為擴充套件名。

2.語法書寫方式不同,Sass 是以嚴格的縮排式語法規則來書寫,不帶大括號({})和分號(;),而 Scss 的語法書寫和我們的CSS 語法書寫方式非常類似。

我們不妨來看看下面兩段程式碼,這樣會更加直觀,更容易理解。

簡單的Sass程式碼

#sidebar
width: 30%
background-color: #faa

對應的Scss程式碼

#sidebar {
   width: 30%;
   background-color: #faa;
}

另外,SCSS 對空白符號不敏感。上面的程式碼也可以書寫成下面的樣子:

#sidebar {width: 30%; background-color: #faa}

我們不妨接著再分享幾段 Scss 程式碼

Sass允許選擇器巢狀。比如,下面的CSS程式碼:

div {
     h1 {
        color:blue;
    }
 }

輸出的CSS樣式為

div h1 {
    color: blue;
}

在巢狀的程式碼塊內,可以使用&參照父元素。比如a:hover偽類,可以寫成:

a {
    &:hover { color: #0099cc; }
}

輸出的CSS樣式為

a:hover {
   color: #0099cc;
}

更多程式設計相關知識,請存取:!!

以上就是Scss與Sass是什麼的詳細內容,更多請關注TW511.COM其它相關文章!