我正在尝试使用它从列表中选择第二个 a 标签:
.container li a:first-child + a { ... }
但是好像不行。是否有另一种理想的纯 CSS 方式(a:nth-child(2)
除外)或者有人能看出我哪里出错了吗?
最佳答案
确保您的 <li>
实际上有两个<a>
元素作为它的前两个子元素,而不是它们周围的一些其他元素,因为这些元素可能会使 :first-child
无效和相邻的兄弟选择器。
如果只想选择第二个<a>
元素,而不管您的 <li>
中还有哪些其他类型的元素,使用这个选择器:
.container li a:nth-of-type(2)
如果您的 <li>
将只有 2 个 <a>
元素,您可以使用通用兄弟组合器 ~
额外的 IE7/IE8 支持:
.container li a ~ a
或者您的意思是找到 <a>
第二个元素 <li>
而不是第二个 <a>
<li>
中的元素(因为“列表”可能指的是 <ul>
或 <ol>
在这里)?如果是这样,您将需要以下任一选择器:
.container li:first-child + li a
.container li:nth-child(2) a
关于css - 选择第二个 child ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9550401/