首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何仅隐藏类型的第一个元素?

如何仅隐藏类型的第一个元素?
EN

Stack Overflow用户
提问于 2013-09-12 19:10:07
回答 5查看 30.5K关注 0票数 11

我有以下标记:

代码语言:javascript
复制
<div class="ctr-1">
    <h3>Title</h3>
    <div class="ctr-2">
        <h3>Title</h3>
    </div>
</div>

和下面的CSS

代码语言:javascript
复制
.ctr-1 h3:first-child{ display:none; }

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

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2013-09-12 19:12:48

你有几种不同的选择:

  1. 使用:first-of-type伪类选择类型的第一个元素: ..ctr 1>h3:第一类型{ display: of;}

  1. 或者使用:nth-of-type(n)伪类并指定第一个元素的索引: ..ctr 1>h3:nth-of type(0){ display: none;}

  1. 如果类型无关紧要,并且您总是希望选择第一个子类,则使用:first-child伪类: ..ctr 1>h3:第一个孩子{ display: h3;}
票数 12
EN

Stack Overflow用户

发布于 2013-09-12 20:16:30

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

例如:

代码语言:javascript
复制
.ctr-1 h3:first-of-type { display:none; }
/* - Or - */
.ctr-1 h3:nth-of-type(0) { display:none; }

这将隐藏h3的第一个.ctr-1后代,而不管它在父元素中的位置。

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

票数 18
EN

Stack Overflow用户

发布于 2013-09-12 19:11:49

从技术上讲,他们都是first-child

在您的示例中,您可以:

代码语言:javascript
复制
.ctr-1 > h3:first-child { display:none; }
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18772494

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档