Sassで何ができるの?Sassのメリットとは?


CSSは使えるけど、そろそろSassの勉強をしないと。。Sassってなんとなくしかわからないから、実際Sassで何ができるのか知りたい

Sassは難しい印象があるから、熟練した人でも敬遠して使わない人も結構多い。ただし、一旦使い始めると、その便利さから使わずにはいられなくなる人もおおいのだ。
そこで今回は、Sassを始める前に「Sassとはなにか?」「どんな便利な機能があるのか」を学んでいこう!
目次
Sassとは?

まずは「Sassとはなにか?」を説明しよう!
Sassとは「Syntactically Awesome Stylesheets」の略であり「構文的にいい感じのスタイルシート」的な意味で、「CSSに機能を拡張」した言語と言える。
簡単に言うとSassとは「CSSをもっと便利な機能を足した言語」と言えばいいだろう。
ただし、Sassファイルはそのままでは使えないので、Sassを記述し終わったら、通常のCSSの形式にコンパイル(変換)する必要がある。
このコンパイルは自動的に変換できるツールがあるので、手作業でやるわけではない。
Sassには2つの記法がある?

そうSassには、拡張子が「.sass」「.scss」の2つ記法があるんだ。
最初に作られた「sass記法」は、記述をシンプルにするため従来のCSSの記法を省略した形式の記法だったために「従来のCSSと書き方が違う」という理由であまり普及しなかったのだ。
そこで後から作られたのが「scss記法」。CSSと互換性があるため、CSSと同じ書式で書いても問題ない。
このような理由などから現在では、SCSS記法が主流となっているので、今回の記事では「SCSS記法」について学んでいこう。
SCSS記法
通常のCSSの記述をしながらも、一部入れ子にできたり、新たな機能が使えるようになった記法だ。
ul{
margin: 50px 0;
li{
list-style: none;
}
}
SASS記法
これが当初に生まれた記法で、普通のCSSから「{}」や「;」などを省略した形で記述されている。しかし、CSSの記述と互換性が無い為、あまり人気が無かった。
投稿一覧ul
margin: 50px 0
li
list-style: none
Sassって面倒?黒い画面を使わないとできない?
Sassは使い始めるまでは、面倒な印象があるが、ちょっと面倒なのは最初だけ。特に、黒い画面(MacのターミナルやWindowsのコマンドプロンプト)を使わないとできない思われがちだが、実際は最初のインストール時とアップデートの時などだけであり、さらに!GUIツールを使えば、黒い画面を一切使わずにSassを利用することもできるんだ。
一番ハードルが高いと感じられる最初のSASSの環境構築を丁寧に解説した記事はこちら。最近最も人気のGulpを使った環境構築なので、早速参考にしてやってみよう!

もちろんRubyなどの知識も不要で「CSSが書ける人ならすぐに使えるようになる」ので、最初のインストール時だけ乗り越えれば、全く問題ない!
もっと簡単に、ターミナル(コマンド)を一切使わずに、簡単にSassを始めたいという人には、簡単で人気のGUIコンパイラー「Prepros」がおすすめ。Preprosの使い方や機能が知りたい方はこちらの記事を

▶ 初心者もSassが簡単に!GUIコンパイラ「Prepros」の使い方と機能
SASSを使ってみたいけど、ターミナル(コマンド)などを使った「環境構築」が大変そうで、なかな踏み出せない。手軽にSAS…
また、Sassはたくさんの便利な機能があるが、すべてを使いこなす必要もない。まずは、簡単な入れ子や変数の使い方をマスターするだけでも、便利に使えるので、簡単な機能から使っていこう!
Sassの便利な機能:メリット

それでは、便利なSassの機能やメリットを順番に確認していこう!
親子関係のセレクタを入れ子にしてまとめて書ける
通常CSSは、親要素と子要素がある構造の場合、その都度、親要素と子要素の関係を記述する必要がある。
しかし、Sassを利用すると、親要素を記述したら、その中に子要素を入れ子(ネスト)にすることで、まとめて書くことができる。具体的には次のようなコードになる。
通常のCSSコード
この場合ul.nav
を3回書くことになる
ul.nav{
margin: 50px 0;
}
ul.nav li{
list-style: none;
}
ul.nav li span{
color: red;
}
Sassのコード
Sassの場合はul.nav
を1度書くだけで済む
ul.nav{
margin: 50px 0;
li{
list-style: none;
span{
color: red;
}
}
}
入れ子(ネスト)にできるメリットは、単純にCSSのソースコードが短くなるだけではなく「エリア毎にソースを書く習慣ができるので」ソースが整理され、可読性も良くなるのもメリットの1つだろう。
Sassのネスト機能で使える「&:アンパサンド(アンド)」
上記のネスト機能をさらに便利に使いこなせるようになるアイテムとして、「&:アンパサンド(アンド)」がある。
基本的には「親セレクタを参照」できる機能なのだが、そんな「&:アンパサンド(アンド)」について、詳しく書いたこちらの記事を参考にしてみよう。
変数を使って共通の値を使い回せる
例えば、WEBサイト内で「共通の色」を使う場合、通常のCSSではその都度「色指定」をする必要がある。
しかしSassの場合「変数」を使うことで、「共通の値を変数」として指定することができるのだ。
この「変数」の何が良いかと言うと、例えば「変数」を使った共通の色に対して、色を変えてほしいという修正指示があった場合、変数の元の色を1箇所修正するだけで、変数を指定した「全ての箇所を一気に変更」できるというメリットがあるのだ。
変数の基本ルールや使い方はこちらの記事を参考にしよう。
エクステンド(@extend)機能で、1度使ったスタイルを使い回せる
エクステンド機能とは、1度セレクタに対して記述したスタイルを、「別のセレクタにも同じスタイルを」簡単に適用できるというものだ。
使い方としては、まず通常通りセレクタ:スタイル;
の形で指定した上で、同じスタイルを付けたい「別のセレクタ」に対して、スタイルの指定の代わりに@extend セレクタ;
の形で指定するのだ。
具体的な例としては、次のようなコードになる。
SASSファイル
.box{
padding:20px;
border:1px solid #f90;
}
// .boxのスタイルをエクステンド
.box2{
margin: 30px 0;
@extend .box;
}
コンパイル後のCSS
.box, .box2{
padding:20px;
border:1px solid #f90;
}
.box2{
margin: 30px 0;
}
これで.box2
も.box
と同じスタイルがついた上で、margin
だけ追加する事ができるのだ。
ミックスイン(@mixin)機能で、コードをモジュール化して再利用できる
「ミックスイン(@mixin)」とは、前述した「エクステンド(@extend)」と似ているが、さらに便利に使うことができる。
ミックスインでは、使い回すスタイルのセットを作成した上で「引数」と言われる変数のようなものを指定する事ができ、実際に使う時には、引き渡す数字を「その時々で、任意の数字に変えて」利用する事ができるのだ。
ミックスイン丁寧に解説した記事があるので、こちらを参考にしてほしい
また、「ミックスイン(@mixin)」と「エクステンド(@extend)」と違いと、その使い分けについて詳しく知りたい方はこちらの記事を是非みておこう!
複数のSASSファイルを1つのCSSファイルにまとめることができる
sassファイルは、更新性を良くするために、エリアごとにsassファイルを作ったり、機能毎にsassファイルを作って、書き出す時にまとめることが可能。
sassを使うメリットは、便利な機能だけなく、メンテナンス性の向上も大きなメリットでもあるのだ!
if文の条件分岐の処理ができる
Sassでは、もし○○ならば「A」そうでなければ「B」といった具合に、条件をつけてその結果でスタイルを振り分ける使い方も可能だ。
これをプログラミングの世界では「条件分岐」と呼び、この条件分岐はプログラミングでは無くてはならない機能なのだ。
Sassの条件分岐について、その使い方と、どんな時に使うかを確認したい方は、こちらの記事を参考にしておこう!
@for、@while、@eachなどの反復処理(ループ処理)ができる
Sassでは、if文の他にも「@for、@while、@each」のようなプログラミング言語で良く使う「反復処理(ループ処理)」と言われる繰り返し処理を使う事ができる。
「反復処理」とは、同じような処理を「繰り返し」行う事で、様々な用途や応用方法として使う事ができる。
Sassで使える「@for、@while、@each」の3つのループ処理について詳しく解説した記事はこちら
関数が使えるようになる
Sassでは便利な関数が用意されている。関数とはあらかじめ作られた「命令文」のようなもので、例えば「小数点以下を四捨五入する『関数 round()』」や、「16進数のカラーコードを10進数のRGB値に変換して、透明度を指定するrgba()」などなど。
フロントエンドスキルをもっと早く・簡単にマスターしたい方へ!
JavaScriptやCSS・Sassなどフロントエンド学習は、初心者が「独学」で完全マスターするには半年以上かかり、相当根気よくやらないと挫折してしまうか、ライバルに出遅れてしまう…。
短期間でフロントエンド・WEBデザインをマスターするには?
私の経験だが、手軽なオンラインスクールを利用した方が圧倒的に早かった。独学だと「何からどこまで勉強すれば良いかわからない」ものを、これだけ学習すればOKというポイントをおさえた教科書で学習しながら、わからない点を質問し放題なので、多少の出費は必要だが2ヶ月程度でサクッと学べたので逆に経済的だった!(実際に私がオンラインスクールを受講して体感)
では「オススメはどのスクール?」とよく聞かれるのだが、たった1つのおすすめスクールがある訳でなく、その人によって最適なスクールが違う。
- 学習スタイルが自分に合っているか?
- 低価格でコスパの良い学習料金か?
- 講師に質問しやすい環境か?
- 無料体験できるスクールか?
数あるスクールの中から、実際に受講してわかった事や現役プロならでは目線で厳選・比較したこちらの記事「現役プロ比較!短期 「WEBデザインスクール12校」おすすめランキング!」を参考に自分に合ったスクールを探そう↓
まとめ
これまでピックアップしてきた、Sassの特徴やメリットはまだまだほんの一部だ。

Sassはある程度学習コストがかかるが、全部の機能を覚える必要はなく、まずは自分が知っている機能だけ使えばいいのだ!
そして、必要に応じて新しい機能を学んで使っていくというスタイルでも良いのではないだろうか。まずは「習うより慣れろ」という言葉のとおり、ネストの機能だけでも使って、練習してみるといいだろう!
※当記事の掲載内容は執筆現在の個人の見解・調査によるもので、動作・サービス等を保証するものではありません。最新情報は各公式サイトでご確認頂き、購入・契約・データ作成等はご自身の判断・責任でお願いします。 免責事項
関連記事

Sassの@for、@while、@eachの「ループ処理(繰り返し)」の使い方

Sassの「@mixin(ミックスイン)」の使い方と「引数」の解説

Gulpを使ったイマドキの「SASS環境構築」の手順!

Sassの「@mixinと@extendの違い」と使い分け

初心者もSassが簡単に!GUIコンパイラ「Prepros」の使い方と機能

Sassの便利な親セレクタの参照「&:アンパサンド(アンド )」の使い方
サイト内検索
新着記事
- YouTubeより詳しく!まとめて学べる『WEBデザイン動画講座』
- Figmaの背景切り抜きプラグイン『Remove BG』のAPI Key取得方法と使い方
- WEBデザイン動画講座のご紹介【お得な割引アリ】
- WixでWEBデザイナーが「ポートフォリオサイト」を作ってみた!
- WEBデザインツールの比較!初心者におすすめは?Figma Photoshop Xd Illustrator
- CodeCampGATE(コードキャンプゲート)とは?転職・就職先と評判
- コードキャンプの「Webデザイン・Webデザイン副業コース」を卒業生が解説!
- テックアカデミー「はじめての副業コース」卒業生が内容を解説!
- PHPの独学!挫折しないおすすめ勉強方法!
- 16インチMacbook Proで使える100Wモバイルバッテリー Zendure SuperTankレビュー
- [体験談] CodeCamp(コードキャンプ)で挫折する理由!
- テックアカデミー「受講した感想・評判」学習内容の総まとめ!
- Photoshop 超リアルな商品写真の鏡面反射の作り方
- デイトラの評判は?詳細内容とメリット・デメリットを解説
- CSSだけ超簡単!画像トリミングできる 「object-fit」 の使い方
- コードキャンプ 「無料体験・カウンセリング」を受講してみた!予約方法や内容の体験談
- デジタルハリウッドSTUDIO by LIGの評判
- PhotoshopでWEBデザインする基本の設定とテクニック
- テックアイエス評判は?現役プロがTECH I.S.を徹底調査!
- WEBデザインの練習・勉強をしながら「お金までもらえる」超おすすめの学習方法!
カテゴリー
タグリスト