【发布时间】:2020-07-14 19:12:23
【问题描述】:
我有一个div.outer 和一个div.inner,两者都有position: absolute; 和backdrop-filter: blur(8px);。
https://jsbin.com/nihakiqocu/1/edit?html,css,output
Safari(左)给出了想要的结果——两个 div 都模糊了它们背后的东西。
但是,Chrome(右)只应用了 div.outer 的模糊:
我有一个解决方案:在 div.outer 中添加另一个 div 并将 backdrop-filter: blur(8px); 移动到该新 div。
但是,我希望有一个不需要从第一个 jsbin 更改 DOM 的解决方案。另外,有人知道是什么原因造成的吗?是 Chrome 的错误吗?
https://jsbin.com/rasudijame/1/edit?html,css,output
PS:它适用于 iOS 的 Chrome,但不适用于 Android 的 Chrome,也不适用于 Mac OS 的 Chrome
【问题讨论】:
-
backdrop-filter支持不佳:caniuse。 -
您是否尝试过使用
-webkit-前缀? -
另外,它在 iOS safari、chrome 和 Firefox 上运行良好。
-
我同时使用 -webkit- 和普通版本。奇怪的是,它适用于 iOS 的 Chrome,但不适用于 Android 的 Chrome,也不适用于 Mac OS 的 Chrome(根据 caniuse 的说法,所有当前版本都应该支持背景过滤器)
-
这是 Chrome 上跟踪的错误,请参阅:bugs.chromium.org/p/chromium/issues/detail?id=993971
标签: html css css-filters