2017-10-06 101 views
0

面對一個奇怪的問題CSS第一胎不工作

對於HTML:

<ul> 
    <li>one</li> 
    <li>two</li> 
    <li>three</li> 
    <li class="has-item">four</li> 
    <li>five</li> 
</ul> 

作品:

ul li:first-child { 
    font-size:30px 
} 

,但爲什麼不這個

ul li.has-item:first-child { 
    font-size:8px 
} 

小提琴:https://jsfiddle.net/xx9us2sg/1/

+0

故障原因是,你的'li'與類'有-item'不是'ul'的'第一child'。 – DomeTune

+0

如果li:first-child選擇ul類型的第一個孩子,那麼爲什麼不選擇li.has-item:first-child選擇類型爲li的ul的第一個孩子class .first-item –

+0

@FahadSohail因爲這是不是「第一胎」是如何運作的。查看我上面發佈的鏈接。 – TylerH

回答

0

:first-child僞類,像所有其它:nth-child() - 相關的僞類計算所有兄弟姐妹(即,具有相同的父元素)。類被忽略,因爲它們與DOM結構無關。

所以:first-child永遠是第一個兄弟姐妹。

這...

ul li.has-item:first-child { 
    font-size:8px 
} 

不起作用,因爲.has-item並不代表任何東西的:first-child。第一個孩子將永遠是<li>one</li>

相關:Why is nth-child selector not working?