【30分でマスター】sassの超基本の書き方

sassの超基本の書き方

所要時間:30分

 

ティロ
こんにちは、ティロといいます

sassの超基本的な書き方を紹介します。

環境構築がまだの人はこちらの記事をお読みください。15分程度で環境構築ができます。

 

関連記事

所要時間約15分プログラミング初心者で黒い画面の使い方が分からない、ネットで調べてもうまくできない・・・そんな方向けの記事となります。この方法なら15分足らずで環境構築ができます! ティロこんに[…]

sassの環境構築を黒い画面なしで行う

 

sassのメリット

 

ティロ
書き方の前にsassのメリットを少しだけ言わせてください!
ペンギンさん
どうぞどうぞ
sassは余計な記述をしなくて済みますし、ソースコードが見やすくなります。
cssで書いているとうっかり同じセレクタを指定してコードが長くなったり、あとのほうにメディアクエリを書いて編集しづらいコードになったりとcssに慣れていないと読みにくいコードになってしまいます。
ティロ
と思うのは私だけかもしれませんね、、、

sassの超基本の書き方

ネスト

sassにはjavascriptやc言語のようにネスト{カッコで囲むこと}が出来ます。例をご覧ください。
以下のようにcssを書きました。
ネスとの例css
css
これをsassで書くと以下のようになります。
ネストの例sass
sass
5行目のmainの子要素であるdivはネストされています。このように子要素に対してネストすることでmainを何回も書かなくて済みます。
インデントのおかげでコードが見やすくなっています。またインデントや改行に決まったルールはありません。

メディアクエリのネスト

メディアクエリをsassで書いてみます。

メディアクエリsass
sass

10行目にp要素にメディアクエリを書きました。ネストを使うことでコードが読みやすくなっています。

これをcssにすると以下のようになります。

指定したセレクタのすぐ下にメディアクエリがくるので編集しやすいですね。

メディアクエリcss
css

&を使うともっとコードが読みやすくなる

&を使うと書きやすく、読みやすいコードになります。

16行目ではhoverを&:の後に書いてネストしています。

&:でhoverをネストする
sass

cssにすると以下のようになります。18行目に疑似要素であるhoverが書かれていることが分かります。

他の疑似要素も同じように書くことができます。

&でネストcss
css

またBEMに使われる「 __ 」や「 — 」も&で表すことができます。

--__scss
sass
--__のcss
css

プロパティのネストも可能です。

margin-bottomやborder-leftなど「 – 」があるものはネストすることができます。

プロパティのネストcss
css
プロパティのネストsass
sass

sassのコメント

コメントは2種類あります。

//は1行のコメントでcssに変換すると自動で削御されます。

は複数行のコメントです。cssに変換してもそのまま残ります。

コメントsass
sass
cssに変換後コメント
css

変数の使用

sassでは変数を使うことができます。例えば以下のようにbackground-colorやcolorで#323232を使用しています。

これを変数を定義して表してみます。変数は以下のように定義できます。

$変数名: 値

 

試しに$main-color:#323232と書いてみました。

変数の使用sass
sass
変数の使用css
css

使用できない変数名

数字から始まっているもの$300px: 300px;
@など記号から始まっているもの$@padding: 20px;
連続したハイフンから始まっているもの$–padding: 20px;

 

変数のスコープ

スコープとは定義した変数が使用できる範囲のことです。例えば以下のように{}内で定義した変数は{}外では使用することができません。

 

 

最後に

ティロ
今回、紹介したネスト、コメント、変数を使うだけで簡単にきれいなコーディングが出来ると思います。
ペンギンさん
確かに簡単できれいなコーディングができそう
ティロ
ぜひsassを使ってみてください!
今回、こちらの本を参考にさせていただきました!sassの基本的な使い方から応用まで詳しく書かれています。sassを初めて学ぶ方には特におススメです。