回答:
あなたの質問に対する最も正しい答えは...
#content > div:first-of-type { /* css */ }
これにより、CSSが#contentの直接の子である最初のdivに適用されます(#contentの最初の子要素である場合とそうでない場合があります)。
別のオプション:
#content > div:nth-of-type(1) { /* css */ }
except
最初/最後のすべてのdivを選択する方法を教えていただけますか?
#content > div:not(:last-of-type) { /* css */ }
#content > div:not(:first-of-type):not(:last-of-type) { /* css */ }
あなたが欲しい
#content div:first-child {
/*css*/
}
<div>
は最初の子ではないため、機能しません(それはです<h1>
)。
div
が最初の子であっても、IEではまったく機能しません。
H1が常に存在すると想定できる場合、
div h1+div {...}
ただし、コンテンツdivのIDを指定することをためらわないでください。
#content h1+div {...}
これは、jQueryのようなJavaScriptライブラリーに頼ることなく、今すぐクロスブラウザーを取得できるのと同じくらい良いことです。h1 + divを使用すると、H1の後の最初のdivのみがスタイルを取得するようになります。代替手段はありますが、CSS3セレクターに依存しているため、ほとんどのIEインストールでは機能しません。
あなたが探しているものに最も近いものは:first-child疑似クラスです。あなたが持っているので、残念ながらこれはあなたのケースでは動作しません<h1>
前に<div>s
。私は何を示唆していると、あなたはどちらかにクラスを追加することである<div>
ように、<div class="first">
あなたが本当にクラスを追加することができない場合や、スタイル、それその方法、またはjQueryのを使用します。
$('#content > div:first')
$('#content > div.first)