Ответ 1
Без использования js или :nth-child
(который, я считаю, не поддерживается в IE)
ul li:first-child, ul li:first-child + li {
list-style: none;
}
Здесь демонстрируется демонстрация в IE7
Я хотел бы выбрать первые два элемента списка в неупорядоченном списке. Я могу выбрать первый элемент таким образом:
ul li:nth-child(1) a {
background: none repeat scroll 0 0 beige;
}
ИЛИ
ul li:first-child a {
background: none repeat scroll 0 0 beige;
}
Я хотел бы выбрать как первую, так и вторую позицию - как это сделать?
Без использования js или :nth-child
(который, я считаю, не поддерживается в IE)
ul li:first-child, ul li:first-child + li {
list-style: none;
}
Здесь демонстрируется демонстрация в IE7
Для выбора первого и второго детей вы можете использовать один псевдо-класс :nth-child()
, например:
ul li:nth-child(-n+2) a {
background: none repeat scroll 0 0 beige;
}
Это работает в IE9 +, но это не самое короткое. @BoltClock селектор является самым коротким решением для IE9+. Я думаю, что это немного легче понять, поэтому я оставлю это в качестве альтернативы.
ul li:first-child a, ul li:nth-child(2) a
{
background: none repeat scroll 0 0 biege;
}
Лучше всего использовать кросс-браузерную совместимость, чтобы использовать jQuery и назначить класс элементу списка.
Что-то вроде...
$( function() {
$('li').each( function() {
if( $(this).index() == 1 || $(this).index() == 2 ) {
$(this).addClass('first_or_second');
}
});
});
.trJobStatus ul{
width: 500px;
height:500px;
float: left;
}
.trJobStatus ul li{
width: 50px;
height:50px;
border: solid 1px #ddd;
list-style:none;
display: inline-block;
text-align: center;
line-height:50px;
font-size:25px;
}
.trJobStatus ul li:nth-child(1),
.trJobStatus ul li:nth-child(5){
color:red;
}
<div class="trJobStatus">
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
</div>