You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何仅用CSS选择器在img带loaded类时隐藏其父元素的::after伪元素

可以纯CSS实现,核心要先理清伪元素的归属:你代码里的::after是属于父级<div class="test">的逻辑子元素,不是img的同级兄弟元素,所以你之前写的相邻兄弟选择器+没法直接选中父元素的伪元素。

实现方案:用CSS :has() 选择器

你可以通过父选择器判断div内部是否存在带loaded类的img,匹配到后直接控制自身的::after隐藏,写法如下:

/* 匹配内部包含.loaded类img的.test元素,隐藏它的after伪元素 */
.test:has(img.loaded)::after {
  display: none;
}

兼容性说明

目前Chrome 105+、Firefox 121+、Safari 15.4+均已支持:has()选择器,覆盖了全球90%以上的用户群体。如果需要兼容更早版本的浏览器,你可以加极少量的JS做类名同步:给img加loaded类的同时,给父级.test也加个同名类,再写如下样式即可:

.test.loaded::after {
  display: none;
}

内容的提问来源于stack exchange,提问作者Mehmet S

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 20:09:02