2009-03-11 18 views
3

私はこのCSSセレクタparent> childを頻繁に使用します。私のデザインはMozillaとOperaでよく見えます。parent>子CSSセレクタ

しかし、IEでは、それは吸う。私は>がIEでは認識できないことを知っていますが、IEのそれに代わるものは何ですか?

答えて

6

IE6のダイレクトチャイルドセレクタの代替機能はありません(IE7でも動作します)。

代わりに、子孫セレクタ(スペース)を使用して、クラスを設計して補正する必要があります。

div p {color: red;}  // Takes effect if there's a <p> child at some level 
div * p {color: black;} // .. but this'll be true if it's not a direct child 

はしかし、あなたは、特異性の競合に注意する必要があります。

11

1つの選択肢は、ノードが直接の子ではない場合に有効になります、より具体的なルールを作るためにユニバーサルセレクタを使用することです。 div * pは、一般的なパラグラフで動作する別のルールよりも具体的になります。

+0

+1:これまで私はそれを見たことがない(そして私は多くのCSSをやった)。良いアイデア。 – Joel

+0

upvoteに感謝します。しかし、私は間違いなくこれを使うことに注意しなければなりません。それがあまりにも寛大であれば、深刻な痛みにつながる可能性があります。特異性の競合は邪悪なものです! –

+0

これは非常にうまく動作しないため、この作業を行わないでください。 – cletus