直接给遮罩层加backdrop-filter: blur(10px)即可实现模糊背景,但需满足两个前提:遮罩层为半透明(如rgba(0,0,0,0.3))且body或其子元素存在可见背景内容;同时须添加-webkit-backdrop-filter兼容Safari,并在弹窗显示时为body添加modal-open类以设置overflow-y: hidden防止页面滚动。

弹窗本身怎么加模糊背景(backdrop-filter)
直接给弹窗的遮罩层(overlay)加 backdrop-filter: blur(10px) 就行,但必须满足两个前提:遮罩层得是半透明的、且背后真有可被模糊的内容(比如 body 里的图片或色块)。很多人写了 backdrop-filter 没效果,是因为遮罩层用了 background: rgba(0,0,0,0.5) 却忘了父容器(比如 )本身没内容或被白色背景盖住了——模糊的是“后面的东西”,不是弹窗自己。
实操建议:
- 遮罩层用
position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.3) - 确保
或其直接子元素(如)有可见背景(图片、渐变、甚至只是带 padding 的色块)- 加上
-webkit-backdrop-filter: blur(10px)兼容 Safari(iOS 和 macOS 都要)- 别在遮罩层上同时设
background-color: white——那会挡住背后的画面,模糊就失效了弹窗内容区域要不要加 backdrop-filter
一般不用。弹窗主体(比如
- 加上
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











