スタイルシート言語SassでCSSを書く方法を現役エンジニアが解説【初心者向け】

初心者向けにスタイルシート言語SassでCSSを書く方法について解説しています。Sassを使うことでスタイルを効率的に記述することができます。Sassの特徴と導入方法、SCSSとSASSそれぞれの記法について学びましょう。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事が4,000以上あります。現役エンジニアの方はこちらをご覧ください。

スタイルシート言語SassでCSSを書く方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。

この記事ではSassの概要と、変数を使った例を紹介します。Sassを使ったことないけど、どんなものが知りたい、という方はぜひご一読ください。

そもそもCSSについてよく分からないという方は、CSSの書き方について解説した記事を読むとさらに理解が深まります。

 

なお本記事は、TechAcademyのオンラインブートキャンプWebデザイン講座のCSSカリキュラムをもとに執筆しています。

 

田島悠介

今回は、CSSに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

スタイルシート言語SassでCSSを書く方法について詳しく説明していくね!

大石ゆかり

お願いします!

目次

 

Sass(サース、Syntactically awesome style sheets)とは

Sass(サス)とは「Syntactically Awesome Stylesheets」の略。日本語にすると素晴らしい文法のスタイルシート、という意味ですね。

Webサイトのデザインを指定するためには、昔も今もCSSを使います。しかし時代と共に、Webサイトが徐々にリッチになり、CSSの記述量も増えてきました。CSSのコードを記述したり、理解したり、変更したりするのが難しくなってきています。そんな問題を解決するために生み出された言語がSassです。

Sassでは、CSSの文法に加え、便利な文法がいくつか使えるようになりました。そのため、記述したり理解したり変更したり、人間にわかりやすく書くことができます。

Sassでスタイルを指定するコードを書いたら、CSSに変換し、Webサイトで読み込む。今では、Sassを使ったコーディングが主流になってきています。

 

[PR] HTML/CSSで挫折しない学習方法を動画で公開中

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コーディング、ぜひトライしてみてください!

 

監修してくれたメンター

田屋 貴祥

最新テクノロジーを広めるという情熱を持ちクラウドベンダーでセールスエンジニアに従事。その後、フリーランスWeb制作をしながら、海外で人生の楽しみ方を学ぶ。

海外のWeb制作Tipsを翻訳し実践するTechブログ制作中。https://webcreate.bokutachino.world/

最近のマイトレンドはCSS3で脱JavaScript。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でも最短4週間でオリジナルWebサイトを公開できるオンラインブートキャンプWebデザイン講座を開催しています。

挫折しない学習方法を知れる説明動画や、現役エンジニアとのビデオ通話とチャットサポート、学習用カリキュラムを体験できる無料体験も実施しているので、ぜひ参加してみてください。