根本原因是遮罩元素的opacity未配合过渡动画或被JS内联样式覆盖;需在基础选择器声明transition,用类切换opacity和pointer-events,并确保遮罩占满视口、z-index合理、Safari下启用will-change优化。抽屉打开时遮罩不渐变,只闪一下根本原因是遮罩元素的 opacity 没有配合过渡动画,或者过渡被覆盖。CSS 里必须同时声明 transition 和初始/目标状态的 opacity,且不能依赖 JS 直接写 style.opacity 覆盖------那会跳过 CSS 过渡。实操建议:立即学习"前端免费学习笔记(深入)";遮罩元素(如 .overlay)初始设为 opacity: 0; pointer-events: none;抽屉打开时,给遮罩加一个类(如 .overlay--active),里面写 opacity: 0.6; pointer-events: auto;必须在 .overlay 基础选择器里写 transition: opacity 0.3s ease;,不能只写在 --active 类里避免用 visibility: hidden / visible 控制显隐------它不触发 opacity 过渡移动端点击遮罩无法关闭抽屉常见于遮罩层没占满视口,或 z-index 被其他元素压住,导致事件穿透不到遮罩本身。实操建议:立即学习"前端免费学习笔记(深入)";遮罩元素需设 position: fixed; top: 0; left: 0; width: 100vw; height: 100vh;,不用 100%(可能因父容器高度不足而失效)确认遮罩的 z-index 高于抽屉内容,但低于抽屉头部(如有固定标题栏);典型值:遮罩 z-index: 999,抽屉主体 z-index: 1000确保遮罩没有 pointer-events: none 遗留(比如从关闭态直接移除类,没重置)JS 关闭逻辑建议监听遮罩的 click,而不是 document,避免误触抽屉在 Safari 上滑入卡顿或闪白Safari 对 transform + opacity 同时过渡的合成层处理较敏感,尤其当抽屉含图片、阴影或复杂子元素时。 MacsMind 电商AI超级智能客服
相关推荐
IvanCodes9 分钟前
Python 数据处理(十三):JSON、CSV 与数据序列化Patrick在香港1 小时前
Claude 工具调用返回空:8 次失败里只有 1 次状态码不对,其余全带 200Web3&Basketball1 小时前
CRM Agent 后训练实战:3 倍更少错误AIFQuant2 小时前
ETF行情API接入踩坑记:从报错到跑通的七个问题十二同学啊3 小时前
向量数据库:从核心原理到 RAG 与 Java 实战蓝速科技3 小时前
会议室门牌公告通知发布选型与落地指南丨蓝速科技GPU实战笔记4 小时前
云端 Python 开发:JupyterLab 还是 VS Code Remote-SSH?狗狗狗狗狗乐啊4 小时前
搭一个 AI 对话工作台 AChat:从 0 到可用的完整记录(一)白猫不黑5 小时前
Python实现简易Web弱口令爆破与防护方案kuuailetianzi5 小时前
Python初识:定位、优势与发展历程