我想知道为什么下面的CSS小提琴不只是关闭第一个孩子的向上箭头而不是任何其他DIV。
<div id="activeitemslist" class="">
<div class="ind_item">
<div class="ind_updn">
<span class="fa fa-arrow-up"></span>
<span class="fa fa-arrow-down"></span>
</div>
</div>
<div class="ind_item">
<div class="ind_updn">
<span class="fa fa-arrow-up"></span>
<span class="fa fa-arrow-down"></span>
</div>
</div>
</div>
CSS
#activeitemslist{width:100%;border:1px solid red}
#activeitemslist DIV:first-child SPAN.fa-arrow-up {display:none !important }
.ind_item > DIV{display: inline-block;text-align: center;vertical-align: middle}
答案 0 :(得分:1)
让我们尝试解释一下CSS规则的基本部分:#activeitemslist DIV:first-child
。
它查找一个div,它是他父母的第一个孩子,父母必须在id =&#34; activeitemslist&#34;的元素内。
根据这一点,两个向上箭头都适合您的规则#activeitemslist DIV:first-child SPAN.fa-arrow-up {display:none !important }
,因此两者都不会显示。
仅引用具有id =&#34; activeitemslist&#34;的元素的第一个子div。 CSS规则应该看起来像#activeitemslist > div:first-child
。
因此,为了不在示例小提琴中显示第一个向上箭头,请遵循CSS规则(不需要使用!important
):
#activeitemslist > div:first-child span.fa-arrow-up {
display: none;
}
Updated code fiddle from the question with the solution
您可以阅读有关CSS3选择器的更多信息。 W3Schools page
答案 1 :(得分:0)
我在这里更改了CSS
#activeitemslist .ind_item:first-child SPAN.fa-arrow-up {display:none !important }