🐕
[css]first-childよりnth-childを使った方が色々便利だった話
例えば以下のように、親要素の一番最初にタイトルがあって、その下にフォームが並んでいるといったレイアウトがある場合。
最初のフォームだけタイトルと30pxの余白を空けて、それ以外のフォーム同士は10px空けたいといった時がある。
上記のようにnth-child(1 of クラス名)を使うことで簡単に最初のフォームにだけ30pxの余白を指定できるようになる。
first-childを使うと以下のようになる。
first-childを使うと、padding-top:30px
が当たるのがタイトル(○○情報)になってしまう。
first-child
では兄弟要素のグループの中で最初の要素に当たるためnth-childを使わないば場合だと.container
配下ではなく、.label
配下でfirst-of-type
を指定する必要がある。
.label{
display:block;
padding-top:10px;
&:first-of-type{
padding-top:30px;
}
}
参考資料
Discussion
:first-of-type
は タグで絞り込まれた そのうちの最初の意なので クラスセレクタでやるにはちょっと不安がある……。(使いどころがあまりない