nth-child()或小孩?如何在一个中选择第一个和第二个孩子

Dou*_*Fir 27 html css css-selectors

我想在无序列表中选择前两个列表项.我可以选择第一项:

ul li:nth-child(1) a {
    background: none repeat scroll 0 0 beige;
}
Run Code Online (Sandbox Code Playgroud)

要么

ul li:first-child a {
    background: none repeat scroll 0 0 beige;
}
Run Code Online (Sandbox Code Playgroud)

我想选择第一个和第二个项目 - 我该怎么做?

T I*_*T I 45

不使用js或:nth-child(我相信在IE中不支持)

ul li:first-child, ul li:first-child + li {
    list-style: none;
}
Run Code Online (Sandbox Code Playgroud)

是在IE7中测试的演示

  • 对于`:first-child`和相邻的兄弟选择器+1,非常适合兼容到IE7. (5认同)

Bol*_*ock 44

要选择第一个和第二个子节点,您可以使用单个:nth-child()伪类,如下所示:

ul li:nth-child(-n+2) a {
    background: none repeat scroll 0 0 beige;
}
Run Code Online (Sandbox Code Playgroud)

  • 好的。我不知道使用 `a=-1`。 (2认同)

tva*_*son 5

这适用于IE9 +,但它并不是最短的.@ BoltClock的选择器是IE9 +的最短解决方案.我认为这个更容易理解,所以我会把它留作另类.

ul li:first-child a, ul li:nth-child(2) a
{
   background: none repeat scroll 0 0 biege;
}
Run Code Online (Sandbox Code Playgroud)