最初の要素以外のものにスタイルを適用したいというケースがよくあったのですが、その度にいちいち全体に指定した後、first-childだけを元に戻す、みたいなことをしていました。
そしたら、そんなことせずともできる方法がありました。
:notを使う
:not(selector) {}
:notを使うと引数で渡したselectorに該当しないものが対象となります。
この:notを使えば上でやっていたようなことも簡単にできます。
ul li:not(:first-child) { background-color: red; }
上記の例は、リストの最初の要素以外の背景色を赤くしています。
jsdo.itでサンプルを作りました。
注意点
IE8は使えないようなので注意が必要です。