CSS中是否存在父级选择器?
P粉713866425
P粉713866425 2023-08-21 10:43:42
[HTML讨论组]
<p>如何选择作为锚点元素的直接父级的<code>&lt;li&gt;</code>元素?</p> <p>例如,我的CSS可能是这样的:</p> <pre class="brush:php;toolbar:false;">li &lt; a.active { property: value; }</pre> <p>显然,可以使用JavaScript来实现这个目标,但我希望有一种原生于CSS Level 2的解决方法。</p> <p>我正在尝试样式化的菜单是由CMS生成的,所以我不能将活动元素移动到<code>&lt;li&gt;</code>元素中...(除非我主题化菜单创建模块,但我宁愿不这样做)。</p>
P粉713866425
P粉713866425

全部回复(2)
P粉141911244

您可以使用:has() CSS 伪类

但是它在浏览器支持方面有限(目前尚不支持 Firefox)。

P粉536532781

目前在CSS中没有一种方式可以选择一个元素的父元素,以便在所有浏览器中都能正常工作。

Selectors Level 4 Working Draft中包含了一个:has()伪类,它将提供这种功能。它将类似于jQuery的实现,但目前Firefox不支持。

li:has(> a.active) { /* 应用于li标签的样式 */ }

目前只有Firefox不默认支持该功能

与此同时,如果您需要选择一个具有完整跨浏览器支持的父元素,您将不得不在Firefox中使用JavaScript。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号