html - 如何从ul中选出第一级children(li)

标签 html css

给定以下结构,我想从列表 (ul) 中选择第一级子级 (li),而不是嵌套列表。

ul.list > li {
  background-color: red;
}
<ul id="list" class="list">
   <li>first level</li>
   <li>first level</li>
   <li>
      <h1></h1>       
      <div>
         <ul>
            <li>second level</li>
            <li>second level</li>
         </ul>
      </div>
   </li>
   <li></li>
</ul>

( JSFiddle )

但这也会选择 div 内的元素 (li)。

我只想使用 ONE css RULE 选择第一级子级 (li)。怎么办?

最佳答案

css 没有允许您指定所有/没有祖先元素必须匹配某些条件(即不是列表)的选择器,您需要 xpath。

但你可以做的是:

ul > li {
  // top level list item styles here
}

li ul > li {
  all: initial;
  // nested item styles here
}

参见 MDN all有关重置样式的文档。也可以选择性的unset具体属性。

关于html - 如何从ul中选出第一级children(li),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35094176/

相关文章:

html - 如何使用 Bootstrap 将表单居中?

javascript - 如何让<p>标签X次出现X次消失

html - CSS Border-Radius 显示父级样式

javascript - 创建隐藏元素然后通过单击显示它们或通过使用 jQuery 单击创建并添加到 DOM 更好吗

css - 如何在 React Native 应用程序中使用 Material Design Lite

php - 在内联 CSS 中使用 $_POST

php - 我可以在 CSS 悬停选择中更改 PHP 变量的值吗?

html - 资源解释为其他但传输时未定义 MIME 类型

javascript - JQuery .load() 不加载 html

html - border-bottom 没有按预期工作