今回のエントリーでは、 Sass による隣の要素(隣接セレクタ)をどうまとめるかについて書いてみます。隣接したセレクタを書く場合は「 + 」を使います。これを Sass の場合どう書くのかというお話です。親参照セレクタの変わった使い方以外は、ほとんど CSS の機能のままですね。ネストして CSS を書けるので読みやすくなるくらいだと思います。
CSS
元となるCSSソース + を使う
div.container h1 {
color: orange; }
div.container h2 {
color: blue; }
div.container h1 + h2 {
font-size: 20px; }
+ を使うことで、h1 の直下に h2 が来る場合に CSS を適用することができます。
セレクタを限定して、 h1 と h2 だけの共通項目を書くことができます。
Sass
Sassで隣接セレクタ(+)を使う
div.container {
h1 {
color: orange;
}
h2 {
color: blue;
}
h1 + h2 {
font-size: 20px;
}
}
Sass を使うことで入れ子で書くことができます。 CSS と比べたら読みやすいです。
コンパイル後は以下の CSS に変換されます。
div.container h1 {
color: orange; }
div.container h2 {
color: blue; }
div.container h1 + h2 {
font-size: 20px; }
Sassの親参照セレクタ(&)と隣接セレクタ(+)を使う
div.container {
h1 {
color: orange;
& + h2 {
font-size: 20px;
}
}
h2 {
color: blue;
}
}
親参照セレクタの変わった使い方です。二種類の書き方ができます。読みづらいのでいつも通り「 + 」を使って書いた方がいいかもしれません。
コンパイル後は以下の CSS に変換されます。
div.container h1 {
color: orange; }
div.container h1 + h2 {
font-size: 20px; }
div.container h2 {
color: blue; }
以上が CSS と Sass の隣の要素をまとめる方法でした。他にこんなのもある!ということを教えてくれる方がいらっしゃれば、是非 Twitter にてご連絡ください。お待ちしています!
