スタイルシート言語SassでCSSを書く方法を現役エンジニアが解説【初心者向け】
初心者向けにスタイルシート言語SassでCSSを書く方法について解説しています。Sassを使うことでスタイルを効率的に記述することができます。Sassの特徴と導入方法、SCSSとSASSそれぞれの記法について学びましょう。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
スタイルシート言語SassでCSSを書く方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。
この記事ではSassの概要と、変数を使った例を紹介します。Sassを使ったことないけど、どんなものが知りたい、という方はぜひご一読ください。
そもそもCSSについてよく分からないという方は、CSSの書き方について解説した記事を読むとさらに理解が深まります。
なお本記事は、TechAcademyのオンラインブートキャンプWebデザイン講座のCSSカリキュラムをもとに執筆しています。
今回は、CSSに関する内容だね!
どういう内容でしょうか?
スタイルシート言語SassでCSSを書く方法について詳しく説明していくね!
お願いします!
目次
- Sass(サース、Syntactically awesome style sheets)とは
- Sassを使ってCSSを書くメリット
- SCSSシンタックス(SCSS記法)とSASSシンタックス(SASS記法)の違い
- ネスティングの書き方
- 変数の書き方
- Sassのインストール方法
Sass(サース、Syntactically awesome style sheets)とは
Sass(サス)とは「Syntactically Awesome Stylesheets」の略。日本語にすると素晴らしい文法のスタイルシート、という意味ですね。
Webサイトのデザインを指定するためには、昔も今もCSSを使います。しかし時代と共に、Webサイトが徐々にリッチになり、CSSの記述量も増えてきました。CSSのコードを記述したり、理解したり、変更したりするのが難しくなってきています。そんな問題を解決するために生み出された言語がSassです。
Sassでは、CSSの文法に加え、便利な文法がいくつか使えるようになりました。そのため、記述したり理解したり変更したり、人間にわかりやすく書くことができます。
Sassでスタイルを指定するコードを書いたら、CSSに変換し、Webサイトで読み込む。今では、Sassを使ったコーディングが主流になってきています。
Sassを使ってCSSを書くメリット
Sassを使うと、具体的にどのようなメリットがあるのでしょうか。
- セレクタを何重にもネストすることができる
- 様々なプロパティ同じ値を設定するとき、変数を定義し一元管理できる
- プロパティの値に数式を記述することができる
- 色や文字列、数値を操作するための、便利な関数が用意されている
- 定型のスタイルに名前をつけて、何度も呼び出して使うことができる
- セレクタ内で、他のセレクタに指定したスタイルを呼び出すことができる
- Sassファイルを分割して記述し、1つのCSSファイルにまとめることができる
このような便利な文法を使い、プログラミング言語のようにスタイルを記述できるのです。
SCSSシンタックス(SCSS記法)とSASSシンタックス(SASS記法)の違い
SassにはSCSSとSASS、二つの記法があります。それぞれを、CSSと比べながら紹介しますね。
CSS .menu { width: 250px; } .menu ul { list-style-type: none; }
CSSでは、.menuと.menu配下のulは、それぞれ別のセレクタを記載します。
SCSS .menu { width: 250px; ul { // menu ulとネストしている list-style-type: none; } }
SCSSの場合、.menuのセレクタ内に、ulのセレクタをネストすることで、.menu配下のulをセレクトします。
SASS .menu width: 250px ul // menu ulとネストしている list-style-type: none
SASSでは、セレクタとプロパティの関係を、{かっこ}ではなくインデント、つまり字下げで表現します。
SCSSはCSSに記述が似ていて馴染みやすく、{かっこ}も明確で理解しやすいですね。SASSはインデントで記載するぶん間違えやすいですが、慣れれば文字数も少なくすっきり書けます。
ネスティングの書き方
Sassセレクタのネストについて、SCSS記法でご紹介します。下記のHTMLにスタイルを当てる例で考えてみましょう。
<div class="menu"> <ul> <li> <a href="">テキスト</a> </li> </ul> </div>
CSSで記載すると、このようになります。
.menu { width: 250px; } .menu ul { list-style-type: none; } .menu ul li a { color: blue; }
ごちゃごちゃして、どこに何があるかわかりずらいですね。
Sassで記載してみましょう。
.menu { width: 250px; ul { list-style-type: none; li { a { color: blue; } } } }
コードの構造、囲ったり囲まれたりする親子関係が、HTMLとSASSで完全に同じになりました。HTMLのどこの要素に対し、どのようなプロパティを指定しているか、わかりやすくなりましたね。
Sass一番のメリットは、セレクタをネストできることと言うより、セレクタをネストすることで、HTMLとSassの構造を同じにして、わかりやすく記載できることでしょう。
変数の書き方
次に、SCSS記法で変数の書き方をご紹介します。
例えばアクセントカラーの指定など、同一の値を多数な箇所に記述することもよくあります。しかし、後から色味を少し調整したいときに、全部の箇所を修正するのは大変ですね。
そんなとき、変数を使って一元管理すると簡単です。
h1,h2{ color: $accent-color; } h3{ border-bottom: 1px solid $accent-color; } botton{ background-color: $accent-color; }
このように記述しておけば、後からアクセントカラーを青にしたいと思っても簡単ですね。
Sassのインストール方法
Sassを導入し、CSSに変換するには、Sassコンパイラというソフトウェアを使う必要があります。Sassコンパイラは、サーバーで動くコマンドや、Webサービス、Cloud9やVSCodeといったIDEの機能など、様々な形式があります。
ここでは、一般的なサーバーで動かすコマンドの導入方法をご紹介します。コマンドラインで、gemコマンドを使って、sassコマンドをインストールします。
$ gem install sass
インストールしたSassコマンドは、このように使います。
$ sass style.scss:style.css
sass 変換前のSassファイルパス:変換後のCSSファイルパス という形式ですね。Sassの文法が正しく記載できていれば、CSSファイルが出力されるはずです。
Sassを使ってCSSコーディング、ぜひトライしてみてください!
内容分かりやすくて良かったです!
ゆかりちゃんも分からないことがあったら質問してね!
分かりました。ありがとうございます!
TechAcademyでは、初心者でもオリジナルWebサイトを公開できるオンラインブートキャンプWebデザイン講座を開催しています。
挫折しない学習方法を知れる説明動画や、現役エンジニアとのビデオ通話とチャットサポート、学習用カリキュラムを体験できる無料体験も実施しているので、ぜひ参加してみてください。