否定疑似クラス「:not」

否定疑似クラス「:not」は非常に便利です。
疑似クラスは指定した属性を持っていない要素に対して定めることができます。

p要素ではない要素に適用されます。

「E:not(s)」のEはなくてもいい

Eの部分はあってもなくても構いません。

Eの部分をつける場合:first-childや単純セレクタで要素を指定することができます。

「E:not(s)」のsに入れられるのは、単純セレクタのみです。
単純セレクタとは>や+などの結合子がないセレクタです。なので、sの部分に結合子が入ると動きません。