次の形式のリストがあります。CSS を使用して最初の 2 つのリスト要素にスタイルを追加するにはどうすればよいですか (IE8 で動作するはずです):
<ul id="list1" style="margin-left:-20%;font-weight:bold" >
<li class="xyz"> Element1 </li>
<li class="xyz"> Element2 </li>
<li class="xyz"> Element3 </li>
</ul>
次の形式のリストがあります。CSS を使用して最初の 2 つのリスト要素にスタイルを追加するにはどうすればよいですか (IE8 で動作するはずです):
<ul id="list1" style="margin-left:-20%;font-weight:bold" >
<li class="xyz"> Element1 </li>
<li class="xyz"> Element2 </li>
<li class="xyz"> Element3 </li>
</ul>
nth-child 疑似クラスを使用できますが、IE8 以前では動作しません。代わりに、最初の2つをスタイルしたいように、すべての要素をスタイルします
ul li {
color: red;
}
そして、次のように、最後のスタイルを別の方法でスタイルします。
ul li + li + li {
color: blue;
}
これは古い IE でも動作するはずです。
CSSでこのコードを試してください
ul li:first-child {
//style
}
/* equivalent to li:nth-child(2) */
ul li:first-child + li {
//style
}
これは、別のコードを使用した jsfiddle の例ですが、IE8 で機能します。この場合、反対票を投じることは不適切です。
この方法を試してください
#list1 li:first-child
{
//styles//
}
#list1 li:first-child+li
{
//styles//
}
以下のセレクターを使用して簡単に追加でき、IE8でも動作します
#list1 li:first-child, #list1 li:nth-child(2){
border:1px solid red;
}
この問題では、このコードを head タグで使用し、1 つのクラスを要素 2 に設定します
<!--[if IE 8]>
<style>
.Element2{
Your Style
}
</style>
<![endif]-->
このコードはIE8でのみ機能します
$("li:lt(2)").css("color", "red");
JQuery セレクター:lt()
(より小さい) を使用すると、最初の 2 がターゲットになりli
ます。
ここでそれを読んでください - http://api.jquery.com/lt-selector/