如何选择作为锚元素直接父元素的<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/