我有以下标记:
<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>
个标签,我只想隐藏第一个标签。怎么样?
答案 0 :(得分:16)
这是first-of-type
和nth-of-type
选择器的用途。
例如:
.ctr-1 h3:first-of-type { display:none; }
/* - Or - */
.ctr-1 h3:nth-of-type(0) { display:none; }
这会隐藏h3
的第一个.ctr-1
后代,无论其在父元素中的位置如何。
当然,在您的具体示例中,h3
确实也是>
的直接(:first-child
)和第一个(.ctr-1
)后代。但如果这是巧合,你可能无法依赖它。在这种情况下,nth-of-type
是可行的方法。
答案 1 :(得分:8)
从技术上讲,它们都是first-child
。
在您的示例中,您可以执行以下操作:
.ctr-1 > h3:first-child { display:none; }
答案 2 :(得分:7)
答案 3 :(得分:3)
你错了,ctr
不存在,你需要告诉>
选择页面选择器中的第一个元素级别试试这个:
.ctr-1 > h3:first-child{ display:none; }
答案 4 :(得分:3)
您可以使用:
.ctr-1 > h3 { display: none; }