css - 选择第二个 child

标签 css css-selectors

我正在尝试使用它从列表中选择第二个 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/

相关文章:

css - 如何在 SCSS 中区分 "#id.class"和 "#id .class"?

html - 这些CSS行之间有什么区别

css - 如何将文本阴影添加到 Twitter Bootstrap 导航栏链接?

css - 将 Raphael SVG 纸绝对定位到容器 div

html - 是否有 CSS 仅当它是 div 中的第一个元素时才选择 blockquote?

html - 渲染一定数量的 div 后强制内联 div 转到下一行

css - 后代选择器或在 html 中重复相同的类

CSS 选择器链性能

css - 代码点火器 + CSS

css - 网站在桌面上很好,但在移动设备上非常小