我希望最后一个列表项具有不同的颜色。我该如何正确地解决它?
HTML
<div class="wrap">
<ul>
<a><li>AAAA</li></a>
<a><li>BBBB</li></a>
<a><li>CCCC</li></a>
</ul>
</div>
CSS
.wrap li{
color: green;
background: blue;
}
.wrap li:last-child{
color: red;
background: yellow;
}
答案 0 :(得分:4)
所有li
元素都是其各自父元素的最后(唯一)子元素。您希望使用.wrap a:last-child li
定位列表中的最后a
,然后定位其li
子项。
答案 1 :(得分:4)
你的HTML无效,列表只能有列表元素子节点而锚点不是列表元素 对于有效的HTML,您的CSS工作
<div class="wrap">
<ul>
<li><a>AAAA</a></li>
<li><a>BBBB</a></li>
<li><a>CCCC</a></li>
</ul>
</div>
如果您使用a
包裹li以使其阻止,就像使用css
.wrap ul li a{
display: block;
}
答案 2 :(得分:2)
首先你的HTML无效..
li
下不能有a
个元素,它们只允许作为ul
或ol
的直接子元素,并且它们是这两个元素中唯一允许的元素。 。(所以a
不允许......)
如果您通过将a
置于li
内而不是相反的方式来修复您的HTML,则可以正常使用。
重要的是,last-child
等在共享同一个父元素的元素之间工作