以下の例では、IE8でテキストをred
に表示しますが、最新のブラウザではとします。CSS3セレクタを使用してIE8を無視する方法は?
私はIE8が:nth-child()
のようなセレクタを理解していないことを知っていますので、私はp:nth-child(odd), p:nth-child(even) {...}
を使って元のスタイルをオーバーライドします。
これを行うにはもっとエレガントな方法がありますか?私は条件付きのコメント...[if lte IE 8]...
が存在することを認識していますが、それは私がこの質問で尋ねているものではありません。あなたはIEに新しいセレクタを与えることhttp://selectivizr.com/のように、このライブラリを使用することができます
p {
color: red;
}
p:nth-child(odd),
p:nth-child(even) {
color: green;
}
<p>paragraph 1</p>
<p>paragraph 2</p>
<p>paragraph 3</p>
LGSonの回答を受け入れた理由は不明です。はい、私は特にあなたがIE8から非表示にする必要がある場合、@メディアハックをお勧めします。他のバージョンではありません - [私もそれを自分で使う](http://novalistic.com/css/frontend.ie.css) - ブラウザ/ Modernizrのようなものを使用している場合は機能の検出はうまくいきますが、具体的にセレクタのハックを要求しました。 – BoltClock
@BoltClock私は[リンク](http://browserhacks.com/#hack-319658f3c65762a24dc67d5ccf8cd452)がそこに掲載されているので、その答えをマークしました。入力いただきありがとうございます。 – Stickers