CSS选择位于另一个元素之前的元素

Oma*_*mar 0 css css-selectors

可能重复:
CSS:选中 - 更改<td>背景
是否有CSS父选择器?

        <ul class="submenu">
        <li><a href="...">Submenu 3</a></li>
        <li><a href="..." >I need to select this element</a>
            <ul class="submenu">
            <li><a href="...">Sub-submenu 3</a></li>
            <li><a href="...">I need to select this element</a>
                <ul class="submenu">
                <li><a href="...">Sub-sub-sub 1</a></li>
                <li><a href="...">Sub-sub-sub 2</a></li>
Run Code Online (Sandbox Code Playgroud)

基本上,我需要选择<li>位于BEFORE ul元素的每个元素class="submenu"(ul class="submenu"'s parent)

我需要选择这个元素

0b1*_*011 5

仅使用CSS目前无法实现这一点.目前正在推出该功能,但实际上它不会在相当长的一段时间内公开使用(如果有的话).

 /* Only matches LIs with a UL.submenu descendant */
 li:has(> ul.submenu) {
  background:red;
 }
Run Code Online (Sandbox Code Playgroud)

注意:根据当前编辑草案提供的示例有效,但语法可能会更改,或者在浏览器供应商开始实现之前可能会完全删除功能.

最初取自/sf/answers/730524651/