css - 如何只隐藏类型的第一个元素?

标签 css css-selectors

我有以下标记:

<div class="ctr-1">
    <h3>Title</h3>
    <div class="ctr-2">
        <h3>Title</h3>
    </div>
</div>

和下面的 CSS

.ctr-1 h3:first-child{ display:none; }

两者都是 <h3>标签是隐藏的,我只想隐藏第一个。怎么办?

最佳答案

这就是first-of-typenth-of-type选择器用于。

例如:

.ctr-1 h3:first-of-type { display:none; }
/* - Or - */
.ctr-1 h3:nth-of-type(0) { display:none; }

这将隐藏 .ctr-1 的第一个 h3 后代,无论它在父元素中的位置如何。

当然,在您的特定示例中,h3 确实也是直接 (>) 和第一个 (:first-child) 后代的 .ctr-1 。但如果这是巧合,你可能无法依靠它。在这种情况下,nth-of-type 是正确的选择。

关于css - 如何只隐藏类型的第一个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18772494/

相关文章:

css - CSS中带引号和不带引号的属性选择器的区别

html - 我应该在 HTML 中使用 % 还是 'px'

php - 为什么添加css代码后模态窗口会隐藏? ( Bootstrap )

javascript - 在 Canvas 中使用 CSS 字体不适用于 Angular 2

python - 如何使用 Selenium 选择属性为 "checked"且值为 "checked"的复选框?

css - html[lang ="en"] 和 html :lang(en) in CSS? 有什么区别

javascript - 如何创建多个排序按钮

javascript - 有没有办法阻止页面特定部分的滚动?

css -> 和 ~ CSS 中的表达式

html - 使用 CSS 选择器选择 HTML 中的特定元素