如何选择作为锚元素直接父元素的<li>元素?

例如,我的CSS如下所示:

li < a.active {
    property: value;
}


显然,可以使用JavaScript进行此操作,但是我希望CSS Level 2本身具有某种解决方法。

我正在尝试设置样式的菜单已由CMS弹出,因此我无法将活动元素移动到<li>元素...(除非我将菜单创建模块作为主题,但我不希望这样做) 。

有任何想法吗?

最佳答案

当前无法在CSS中选择元素的父级。

如果有办法,可以在当前的CSS选择器规范中使用:


Selectors Level 3 Spec
CSS 2.1 Selectors Spec


同时,如果需要选择父元素,则必须使用JavaScript。



Selectors Level 4 Working Draft包括一个:has()伪类,其作用与jQuery implementation相同。截至2019年,this is still not supported by any browser

使用:has()可以用以下方法解决原始问题:

li:has(> a.active) { /* styles to apply to the li tag */ }

关于css - 是否有CSS父选择器?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35115370/

10-17 03:00