IE7-8のサポートが必要ない場合は、次のような:not()
CSSセレクターを使用できます。
p:not(:first-child) {
...
}
ただし、IE7 +をサポートする必要がある場合は、それでも使用できる小さなトリックがあり、通常はかなり遠くまで到達できます。あまり知られていない事実は、:first-child
psuedoセレクターが実際にはIE7 +で機能することです(:last-child
ただし、他のcssセレクターとは異なります)。これにより、水平方向にフロートしたレイアウトに垂直方向のマージンを追加するなどのことが可能になります。
このhtmlを想像してみてください:
<ul>
<li>Item #1</li>
<li>Item #2</li>
<li>Item #3</li>
<li>Item #4</li>
</ul>
そしてこれをCSSとして:
/* General reset */
ul, li { list-type: none; margin: 0; padding: 0; }
/* Make horizontal */
ul > li { float: left; }
これで、すべてのリストアイテムが水平方向に隣り合って、右側または左側ではなく、すべてのアイテムの間にマージンを追加したいので、cssでこれを行うことができます。
/* General reset */
ul, li { list-type: none; margin: 0; padding: 0; }
/* Make horizontal */
ul > li { float: left; margin-left: 10px; }
ul > li:first-child { margin-left: 0; }
これは通常、私が何かユニークなものが必要な場合の95%をカバーし、残りの「忘れられた」セレクターはさらに数パーセントをカバーします。その後、通常はバックエンドのボトルネックにはならないクラスを追加する必要があります。ページ。