【さす】

Sass/SCSS とは?

💡 CSSに「プログラミングの便利さ」を足した言語
📌 このページのポイント
Sass — CSSをパワーアップする拡張言語 Sass (.scss) 変数: $primary: #4A90D9; ネスト: .nav { .item { } } ミックスイン: @mixin 継承: @extend .btn コンパイル CSS (.css) color: #4A90D9; .nav .item { ... } 展開済みプロパティ 統合されたセレクタ Sassで効率よく書いたコードをブラウザが読めるCSSに変換 大規模プロジェクトのCSS管理を大幅に効率化
Sass(CSS拡張言語)のイメージ
ひよこ ひよこ

Sassって普通のCSSと何が違うの?

ペンギン先生 ペンギン先生

CSSって同じ色コードを何回も書いたり、長いセレクタを繰り返したりして面倒だよね。Sassは「$primary-color: #3498db;」みたいに変数が使えるから、色を変えたいとき1か所直すだけで全部変わるんだ。

ひよこ ひよこ

SassとSCSSの違いは?

ペンギン先生 ペンギン先生

実は書き方が2種類あるんだ。Sass記法は波括弧やセミコロンを省略してインデントで構造を表す書き方。SCSS記法は普通のCSSとほぼ同じ見た目で、CSSをそのままコピペしても動く書き方。今はSCSSの方が主流だよ。

ひよこ ひよこ

ネストって何がうれしいの?

ペンギン先生 ペンギン先生

たとえば「.nav」の中の「.nav-item」のスタイルを書くとき、CSSだと「.nav .nav-item { }」って毎回フルで書くよね。SCSSなら「.nav { .nav-item { } }」って入れ子にできるから、HTMLの構造と対応していてわかりやすいんだ。

ひよこ ひよこ

ブラウザはSassを直接読めるの?

ペンギン先生 ペンギン先生

読めないんだ。だから「コンパイル」といって、Sassを普通のCSSファイルに変換する処理が必要だよ。WebpackViteプラグインを使えば自動でやってくれるから、あまり意識しなくて済むけどね。

ひよこ ひよこ

最近はSassを使わない人も増えてるって聞いたけど?

ペンギン先生 ペンギン先生

CSS自体が進化して、カスタムプロパティ(CSS変数)やネスト構文がネイティブで使えるようになってきたからね。ただSassの@useや@forwardによるモジュール分割は、大規模プロジェクトで何百ものスタイルファイルを管理するときにまだ優位性があるんだ。問題は旧式の@import構文から新しい@use構文への移行で、名前空間スコープの考え方がまるで変わるから、移行計画を立てるのはベテランでもかなり頭を使うポイントだよ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Sass」って出てきたら「CSSを便利に書くための拡張言語だな」と思えればだいたいOK!
📖 おまけ:英語の意味
「Syntactically Awesome Style Sheets」 = 構文的にイケてるスタイルシート
💬 「Awesome(すごい)」が入ってるのが自信満々でいいよね。SCSSは「Sassy CSS」の略だよ
← 用語集にもどる