cssのネストとは?使い方を解説!
cssでセレクタを利用する際、以下のようなコードを書いていませんか?
CSS
parent {
...
}
parent.child1 {
...
}
parent + child2 {
...
}
parent > child3 {
...
}
ただこのコード、何度も親要素であるparentを指定しているのでコード量も多くなり、見にくいですよね。
そこで「ネスト」を取り入れると、
CSS
parent {
...
&.child1 {
...
}
&+child2 {
...
}
&>child3 {
...
}
}
このように簡潔なコードを書くことができます。
ネストの子要素に「&」がいる場合
ネストの子要素にはふつう「&」(アンパサンド)をつけます。これはさまざまな記号で代用でき、ほかの文字列との混合を避けるための仕様です。
&をつけなくてはいけない場合の例として、疑似要素があります。たとえば、
CSS
parent {
...
:before {
...
}
:after {
...
}
}
このように書いてはいけません。この場合も、
CSS
parent {
...
&:before {
...
}
&:after {
...
}
}
このように&をつけましょう。