CSS仅在有两个 child 时才选择第一个 child

标签 css css-selectors

有没有办法只有在有二胎的情况下才选择第一个?我想隐藏第一个 <p></p>仅当有第二个时才标记。有没有办法用 CSS 做到这一点?

我的代码是这样的

<div>
    <p></p>
    <p>something</p>
</div>

最佳答案

你只能通过组合 :first-child:nth-last-child() 来做到这一点,这意味着在纯 CSS 中你不会有任何改进支持比 IE9 及更高版本:

p:first-child:nth-last-child(2) {
    display: none;
}

如果您希望在第一个 p 有 sibling 时隐藏它(即总共有 2、3、4... child 并不重要),请使用这代替:

p:first-child:not(:only-child) {
    display: none;
}

关于CSS仅在有两个 child 时才选择第一个 child ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18431662/

相关文章:

python - BeautifulSoup:如何提取内容?

html - 更具体的 css 绝对定位元素不会覆盖先前设置的高度/宽度

javascript - 菜单导航响应式(在 Bootstrap 中)

使用 setTimeout() 方法在一段时间内更改背景颜色的 Javascript 函数

javascript - AngularJS ng-重复溢出

html - 在鼠标悬停时缩放选取框标记中的图像

jquery select 具有多个属性的元素

css - 如何用CSS匹配最后n个 child ?

c# - 要用 CSS 标记的文本字段

html - :hover color is not working