SCSSは、Sass(Syntactically Awesome Style Sheets)の略称で、CSSを拡張した言語です。CSSよりも効率的にスタイルシートを作成できるため、Webサイト開発において広く利用されています。
SCSSの特徴
ネスト
セレクターをネストさせることで、スタイルシートをより分かりやすく、整理することができます。
CSS
.container {
width: 100%;
.header {
background-color: #f00;
.title {
font-size: 20px;
}
}
.content {
background-color: #fff;
}
}
上記のように、ネストを使うことで、HTML構造とスタイルシートの構造を一致させることができ、コードの見通しが良くなります。
変数
色やフォントサイズなどの値を変数に保存することで、スタイルシートをより簡単に変更することができます。
CSS
$primary-color: #f00;
.container {
width: 100%;
.header {
background-color: $primary-color;
}
.content {
background-color: #fff;
}
}
上記のように、変数を使うことで、複数の箇所で同じ値を使用している場合、一箇所を変更するだけで全ての箇所を変更することができます。
ミックスイン
複数のスタイルをまとめて定義することで、スタイルシートをより効率的に作成することができます。
CSS
@mixin button {
display: inline-block;
padding: 10px;
border: 1px solid #ccc;
&:hover {
background-color: #ddd;
}
}
.button-primary {
@include button;
background-color: $primary-color;
}
.button-secondary {
@include button;
background-color: #fff;
}
上記のように、ミックスインを使うことで、共通するスタイルをまとめて定義し、他のスタイルシートで簡単に呼び出すことができます。
関数
複雑な処理を関数にまとめることで、スタイルシートをより分かりやすくすることができます。
CSS
@function lighten($color, $amount) {
return mix($color, #fff, $amount);
}
.container {
background-color: lighten($primary-color, 10%);
}
上記のように、関数を使うことで、複雑な処理をコードに記述することなく、簡単に呼び出すことができます。
SCSSのメリット
- CSSよりも効率的にスタイルシートを作成できる
- スタイルシートをより分かりやすく、整理できる
- スタイルシートをより簡単に変更できる
- コードの重複を減らすことができる
- 保守性を向上させることができる
SCSSのデメリット
- CSSよりも学習コストが高い
- ブラウザで直接実行できない(コンパイルが必要)
SCSSの学習方法
- 書籍やWebサイトのチュートリアルを読む
- オンライン講座を受講する
- 自分でWebサイトを作ってみる
SCSSとCSSの違い
SCSSは、CSSを拡張した言語です。つまり、CSSのすべての機能に加えて、SCSS独自の機能を使用することができます。
機能 | CSS | SCSS |
---|---|---|
ネスト | × | ○ |
変数 | × | ○ |
ミックスイン | × | ○ |
関数 | × | ○ |
まとめ
SCSSは、CSSよりも効率的にスタイルシートを作成できる言語です。CSSを学んだら、次にSCSSを学ぶことで、スタイルシート作成のスキルをさらに向上させることができます。