css 在各家公司無法脫離存在,但是 css 本身的語法不夠強大,因此有了 scss 的誕生,scss 是 css 的超集合,也就是說 scss 可以完全兼容 css 的語法,但是 css 不行。
一、SCSS
SCSS,或稱為Sass(Syntactically Awesome Stylesheets),是一種CSS的擴展語言,它引入了一些功能和語法,以使樣式表更具結構、可讀性和可維護性。以下是SCSS的由來:
1-1 起源
Sass最初是由哈馬德·卡瑟姆(Hampton Catlin)於2006年創建的,最初是一個Ruby的Gem,用於簡化和改進CSS的書寫。 Sass引入了變數、巢狀規則和混合等功能,以減少代碼的冗長性和提高可維護性。
1-2 演進
SCSS(Sassy CSS)則是對Sass的一種新語法的引入,它更接近傳統的CSS語法。SCSS允許開發者使用原生的CSS語法,同時利用Sass提供的功能,使得轉換和遷移變得更加容易。SCSS的語法更接近CSS,因此對於那些熟悉CSS的開發者而言,學習曲線相對較低。
1-3 功能和語法的引入
SCSS引入了許多功能,例如變數、嵌套規則、混合、繼承、模塊化等,這些功能有助於更有效地組織和管理樣式代碼。開發者可以使用變數來存儲和重複使用值,使用嵌套規則使代碼更具層次感,使用混合和繼承實現代碼的可重用性。
二、SCSS vs CSS
2-1 基本使用
CSS : 使用基本的語法,使用大括號 {} 和分號 ; 來定義樣式。使用方式如下
1 | body { |
SCSS : 使用較為進階的語法,支援巢狀結構、變數、混合(mixins)等功能。使用方式如下
1 | body { |
2-2 變數
css 無法使用變數,因此在 scss 中可以使用變數來定義樣式,使用方式如下
1 | $font-stack: 'Arial', sans-serif; |
2-3 巢狀結構
scss 可以使用巢狀結構,讓樣式更加清晰,使用方式如下
1 | nav { |
2-4 混合(Mixins)
sass 支援混合,可以定義並重複使用樣式集合。
1 | @mixin border-radius($radius) { |
本部落格所有文章除特別聲明外,均採用 CC BY-NC-SA 4.0 許可協議。轉載請註明來自 John Conte!
評論
DisqusGitalk