我们来看下面的示例代码:
/*ul:first-of-type li a { color: red;}
ul > li a { color: red;}
ul:first-child li a { color: red;}*/
<ul>
<li><a href="">Text</a></li>
<li><a href="">Text</a></li>
<li><a href="">Text</a></li>
<li>
<a href="">Text</a>
<ul>
<li><a href="">Text</a></li>
<li><a href="">Text</a></li>
<li><a href="">Text</a></li>
<li><a href="">Text</a></li>
<li><a href="">Text</a></li>
</ul>
</li>
<li><a href="">Text</a></li>
</ul>
我的目标是选择父a
代码中的ul
代码,而不是ul
内嵌套的li
。
我已经阅读了多篇关于此的文章,但遗憾的是无法通过CSS找到解决方案。
任何人都可以看看这个吗?
答案 0 :(得分:3)
下面的CSS只会选择直接li
个孩子,而在其中只会选择直接a
个孩子。
由于第二个ul
是li
的子项,因此不会选择其子项。它需要以下内容来选择第二个ul
中的超链接:
ul > li > ul > li > a
ul.main > li > a {
color: red;
}
&#13;
<ul class="main">
<li><a href="">Text</a></li>
<li><a href="">Text</a></li>
<li><a href="">Text</a></li>
<li>
<a href="">Text</a>
<ul>
<li><a href="">Text</a></li>
<li><a href="">Text</a></li>
<li><a href="">Text</a></li>
<li><a href="">Text</a></li>
<li><a href="">Text</a></li>
</ul>
</li>
<li><a href="">Text</a></li>
</ul>
&#13;
答案 1 :(得分:1)
这应该只针对李的嵌套一层深度
ul > li > a
但如果没有,则覆盖第二级ul
的这种风格ul li ul li a
ul > li > a { color: red;}
ul li ul li a { color: black;}
&#13;
<ul>
<li><a href="">Text</a></li>
<li><a href="">Text</a></li>
<li><a href="">Text</a></li>
<li>
<a href="">Text</a>
<ul>
<li><a href="">Text</a></li>
<li><a href="">Text</a></li>
<li><a href="">Text</a></li>
<li><a href="">Text</a></li>
<li><a href="">Text</a></li>
</ul>
</li>
<li><a href="">Text</a></li>
</ul>
&#13;