我的問題是在過去裏,使用僞代碼:last-child
當我想到包含li
E
由風格的影響,但它在最後li
.subNav
受影響。
我試過那些(下),但沒有什麼作品。
nav ul:first-child li:last-child {border: none;padding-right: 0;}
nav ul:not(.subNav) li:last-child {border: none;padding-right: 0;}
如何讓主ul
的最後li
影響?
我的問題是在過去裏,使用僞代碼:last-child
當我想到包含li
E
由風格的影響,但它在最後li
.subNav
受影響。
我試過那些(下),但沒有什麼作品。
nav ul:first-child li:last-child {border: none;padding-right: 0;}
nav ul:not(.subNav) li:last-child {border: none;padding-right: 0;}
如何讓主ul
的最後li
影響?
最後一個裏面有一個div。因此,它不是最後一個孩子。你可以使用:last-of-type
瞄準最後李:
nav ul li:last-of-type {border: none;padding-right: 0;}
刪除位於ul
內部的div
。在ul中直接添加標籤是無效的。
將它放入li
或如果不是非常必要的話將其刪除。
否則你的css
選擇器就好了。
<nav>
<ul>
<li><a href="#">A</a></li>
<li class="B">
<a href="#">B</a>
<ul class="subNav">
<li><a href="#">F</a></li>
<li><a href="#">G</a></li>
<li><a href="#">H</a></li>
<li><a href="#">I</a></li>
</ul>
</li>
<li><a href="#">C</a></li>
<li><a href="#">D</a></li>
<li><a href="#">E</a></li>
</ul>
</nav>
非常感謝您的幫助。 – Xlander 2014-09-10 09:55:54
這不是最後一個孩子,你可以使用第n-最後孩子:
nav ul > :nth-last-child(2)
或者,用最後的類型:
nav ul > li:last-of-type
但我會建議你使用@Sowmya答案,它在語義上是正確的。
非常感謝您的幫助。 – Xlander 2014-09-10 09:56:16
不,請提及!只要接受你喜歡的答案... – 2014-09-10 09:57:01
你選擇在邏輯上是正確的,但問題是,li
不是其父ul
的最後一個孩子,因爲有這麼div.clear
<ul>
<li><a href="#">A</a></li>
<li class="B"><a href="#">B</a>
<ul class="subNav">
...
</ul>
</li>
<li><a href="#">C</a></li>
<li><a href="#">D</a></li>
<li><a href="#">E</a></li>
<div class="clear"></div>
</ul>
在這種情況下nav ul li:last-child
不匹配任何東西,因爲li
不是最後一個孩子。您應該使用nav ul li:last-of-type
來匹配最後一個li
元素。
注意ul
唯一允許li
兒童,有這麼一個div
包含在ul
是錯誤的。如果你刪除那div.clear
你的代碼將工作。
非常感謝你的幫助。 – Xlander 2014-09-10 09:56:39
非常感謝您的幫助。 – Xlander 2014-09-10 09:55:08
歡迎您,很高興有幫助:) – 2014-09-10 09:56:10