.nav > li 或 .nav li 来设置 .nav 类内所有列表的样式 [closed]

.nav > li OR .nav li to style all lists inside .nav class [closed]

提问人:Kendeas Harris 提问时间:11/2/2023 更新时间:11/2/2023 访问量:46

问:


编辑问题以包括所需的行为、特定问题或错误以及重现问题所需的最短代码。这将帮助其他人回答这个问题。

22天前关闭。

哪个是正确的选择器来选择 .nav 类中的所有 li 项目?

都试过了,它们似乎都有效。想知道选择器的正确写法是什么吗?

尝试设置 .nav 类内所有列表项的样式。我知道这是一个基本问题,但所有网站都说不同

CSS 选择器

评论


答:

0赞 SyndRain 11/2/2023 #1

这取决于您选择所有子项的意思:

  • .nav li:这被称为 Decendand 组合器,它选择所有具有类的祖先,无论之间是否有中间层。li.nav
  • .nav > li:这称为子组合器,它只选择下面的直接子元素。(例如,不会被选中).nav.nav > ol > li

.nav li {
  color: red;
}

.nav>li {
  color: blue;
}
<div class="nav">

  <li>Direct Child</li>
  
  <ol>
    <li>Not Direct Child</li>
  </ol>
  
</div>

0赞 182exe 11/2/2023 #2

我认为是最好的。如果你在元素周围使用元素,那么 不会选择它们,因为它只查找 li 元素,这些元素是 .nav 元素的第一层子元素,而不是 类 阅读这些关于 css 选择器的页面可能会有所帮助,以解释:.nav li<ul><li>.nav > li<li>.nav

W3Schools CSS 选择指南

MDN Web Docs “Descendant Combinator” CSS 选择器解释