我在选择第一个ul
及其第一个li
时遇到问题,但它也会影响第二个li
的第一个ul>li
。
我的尝试:
#main-nav ul:first-child li:first-child{
border-radius:5px 0px 5px 0px;
}
相应的html:
<nav id="main-nav">
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">Blog</a></li>
<li><a href="#">Photos</a>
<ul>
<li><a href="#">Gallery 1</a></li>
<li><a href="#">Gallery 2</a></li>
</ul>
</li>
<li><a href="#">About</a></li>
<li><a href="#">Contacts</a></li>
</ul>
<div style="clear:both;"></div>
</nav>
答案 0 :(得分:5)
我认为你所追求的是:
#main-nav ul:first-child > li:first-child {
border-radius:5px 0px 5px 0px;
}
这将仅选择第一个li
的第一个ul
,因为>
仅选择其前面元素的子元素。
正如Paulie_D建议的那样,#main-nav > ul > li:first-child
更简洁一点,只要ul
中只有一个孩子#main-nav
,就会有效。
答案 1 :(得分:1)