Html 通过CSS选择第一个不包含嵌套链接的链接
我有以下HTML:Html 通过CSS选择第一个不包含嵌套链接的链接,html,css,css-selectors,Html,Css,Css Selectors,我有以下HTML: <ul> <li> <a href="#">test</a> <ul class="sub"> <li><a href="#">test 2</a></li> </ul> </li> </ul> 我想影响第一个链接,但不影响第二个链接,如何仅使用CSS实现这一点?您可以简单
<ul>
<li>
<a href="#">test</a>
<ul class="sub">
<li><a href="#">test 2</a></li>
</ul>
</li>
</ul>
-
我想影响第一个链接,但不影响第二个链接,如何仅使用CSS实现这一点?您可以简单地做到
ul:not(.sub)>li:first-child>a{
background:red;
}
您可以使用伪类排除ul.sub
元素,然后选择直接
和
或组合属性选择器,如果第一个
没有类
属性:
ul:not([class])>li>a{
背景颜色:金色;
}
如果主
中有多个
元素,则可以使用伪类仅选择第一个列表项:
ul:not(.sub)>li:first child>a{
背景颜色:金色;
}
纯css解决方案如下
ul:not(.sub) > li:first-child > a
但是:not
伪选择器仅在IE9及更新版本中受支持。
CSS:
这将选择所有的锚定标签。这不起作用,在Chrome中。然而,这确实是:ul:not(.sub)>li:first child>a
..@War10ck,是的,谢谢,当然需要直系后代选择器。对我来说很有用-太棒了!!这是不正确的。我不会投你反对票,但这不起作用。
ul:not(.sub) > li:first-child > a {
background-color: gold;
}