Css 第一家长ul和第一家长li不';我不能正常工作

Css 第一家长ul和第一家长li不';我不能正常工作,css,html,Css,Html,我在选择第一个ul及其第一个li时遇到问题,但它也会影响第二个ul>li的第一个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&g

我在选择第一个
ul
及其第一个
li
时遇到问题,但它也会影响第二个
ul>li
的第一个
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>


我想你想要的是:

#main-nav ul:first-child > li:first-child {
   border-radius:5px 0px 5px 0px;
}
这将只选择第一个
ul
的第一个
li
,因为
只选择其前面元素的子元素


正如Paulie#D所建议的那样,
#主导航
更为简洁,只要在
#主导航
中只有一个孩子
ul
我想你想要的是:

#main-nav ul:first-child > li:first-child {
   border-radius:5px 0px 5px 0px;
}
这将只选择第一个
ul
的第一个
li
,因为
只选择其前面元素的子元素

正如Paulie#D所建议的那样,
#main nav>ul>li:first child
更为简洁,只要
#main nav
中只有一个孩子
ul

你就可以试试

#main-nav ul:first-of-type > li:first-child{
    border-radius:5px 0px 5px 0px;
}
请参阅此

您可以尝试

#main-nav ul:first-of-type > li:first-child{
    border-radius:5px 0px 5px 0px;
}

参考此

您的代码中有一个输入错误,它不是
拳头
它的
第一个
您的代码中有一个输入错误,它不是
拳头
它的
第一个
\main nav>ul>li:第一个孩子
会更短。虽然它确实假设只有一个
ul
直接子级。我确实同意将
#main nav
@Paulie_D的直接子级作为直接子级是的,在这种情况下会更简洁一些!谢谢你的帮助:D.
#main nav>ul>li:第一个孩子
会更短。虽然它确实假设只有一个
ul
直接子级。我确实同意将
#main nav
@Paulie_D的直接子级作为直接子级是的,在这种情况下会更简洁一些!谢谢你的帮助:D。