CSSとSassの違い

目次

CSSとSassの違いのまとめ

概要 ブラウザでの扱い 再利用性
CSS Webページの見た目(色・レイアウトなど)を指定するための言語 そのままブラウザで読み込める

クラスや共通CSSをコピーして再利用

Sass CSSをより効率的に記述・管理するための拡張言語 ブラウザでは直接使えない。コンパイルしてCSSに変換する

mixinや@extendで部品化して再利用できる

CSSとは

CSS (Cascading Style Sheets)

Webページの見た目を指定するための言語です。

コード例

.button {
  color: white;
  background-color: blue;
}
.button:hover {
  background-color: navy;
}

Sassとは

Sass (Syntactically Awesome Stylesheets)

CSSを効率的に書けるようにした拡張言語です。

特に大規模なプロジェクトにおいてスタイルシートの記述と管理を大幅に改善できます。

使用にはコンパイルが必要です。

sass style.scss style.css

sassは、コンパイルするコマンドです。Saasをインストールすると使用できます。

style.scssは、Saasで書いた変換元のファイルです。

style.cssは、変換後の出力ファイルです。cssファイルになります。

コード例

$main-color: blue;

.button {
  color: white;
  background-color: $main-color;

  &:hover {
    background-color: darken($main-color, 10%);
  }
}

 

1. 変数 (Variables)

色、フォントサイズ、余白など、スタイルシート全体で共通して使用する値を定義し、一元管理できます。

メリット: デザインの変更が必要になった際に、変数の値を1箇所変更するだけで、関連するすべてのスタイルに反映できます。

例:$main-color: #3498db;

 

2. ネスト(入れ子) (Nesting)

HTMLの階層構造に合わせて、CSSセレクタを入れ子にして記述できます。

メリット: 親子関係が視覚的にわかりやすくなり、セレクタの記述を短縮できます。

例:.nav { ul { li { a { … } } } }

 

3. ミックスイン (Mixins)

再利用したい一連のスタイルをまとめて定義し、必要な場所で呼び出して使用できます。

メリット: コードの重複を減らし、メンテナンス性を向上させます。

例:@mixin center { display:flex; justify-content:center; }

 

4. 継承 (Extend)

あるセレクタで定義されたスタイルを、別のセレクタに引き継ぐことができます。

メリット: スタイルの共通化を図り、コンパイル後のCSSを効率化できます。

例:.btn-primary { @extend .btn; }

 

5.演算

数値や色を計算できます。

例:width: (100% / 3); や color: lighten($main-color, 10%)

 

Sassの記法について

Sassには主に2種類の記法があります。

SCSS (Sassy CSS)

拡張子は .scss。

CSSとほぼ同じ構文(波括弧 {} とセミコロン ; を使用)で記述できるため、CSSに慣れている人にとって学習コストが低く、現在の主流です。

Sass

拡張子は .sass。

波括弧 {} とセミコロン ;を省略し、インデント(字下げ)によって階層構造を表現する、より簡略化された記法です。

Saas公式ページ
https://sass-lang.com/

関連の記事

SassでCSSを作成するサンプル

△上に戻る