背景过滤器不适用于 Chrome 中的嵌套元素

2024-04-27

我有一个div.outer和里面一个div.inner,都与position: absolute; and backdrop-filter: blur(8px);.

https://jsbin.com/nihakiqocu/1/edit?html,css,输出 https://jsbin.com/nihakiqocu/1/edit?html,css,output

Safari(左)给出了想要的结果——两个 div 都模糊了它们后面的内容。

然而,Chrome(右)仅应用模糊div.outer:

我有一个解决方案:在里面添加另一个divdiv.outer和移动backdrop-filter: blur(8px);到那个新的div。

但是,我希望有一个不需要从第一个 jsbin 更改 DOM 的解决方案。另外,有人知道是什么原因造成的吗?是 Chrome 的错误吗?

https://jsbin.com/rasudijame/1/edit?html,css,输出 https://jsbin.com/rasudijame/1/edit?html,css,output

PS:它适用于iOS的Chrome,但不适用于Android的Chrome,也不适用于Mac OS的Chrome


将背景过滤器放置在 css 伪元素上。这允许嵌套背景过滤器。您也可以使用z-index: -1;将背景放置在元素后面

div {
  height: 100px;
  width: 100px;
}
.wrapper {
  position: absolute;
}
.outer, .inner {
  position: relative;
}
.outer::before {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}
.outer {
  background: rgba(255, 0, 0, .5);
}
.inner::before {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  
}
.inner {
  background: rgba(0, 0, 255, .5);
  top: 50px;
  left: 50px;
}
main {
  position: relative;
}
<main>
  <div class="wrapper">
    <div class="outer">
      <div class="inner"></div>
    </div>
  </div>

  <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Accusamus in id quos, est voluptatibus minus porro sunt totam quod commodi odit maxime similique, dolorum aut quo atque. Deleniti, voluptas animi.</p>
  <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Accusamus in id quos, est voluptatibus minus porro sunt totam quod commodi odit maxime similique, dolorum aut quo atque. Deleniti, voluptas animi.</p>
  <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Accusamus in id quos, est voluptatibus minus porro sunt totam quod commodi odit maxime similique, dolorum aut quo atque. Deleniti, voluptas animi.</p>
  <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Accusamus in id quos, est voluptatibus minus porro sunt totam quod commodi odit maxime similique, dolorum aut quo atque. Deleniti, voluptas animi.</p>
  <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Accusamus in id quos, est voluptatibus minus porro sunt totam quod commodi odit maxime similique, dolorum aut quo atque. Deleniti, voluptas animi.</p>
</main>

这是codepen https://codepen.io/micu22/pen/qBNJYZO

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

背景过滤器不适用于 Chrome 中的嵌套元素 的相关文章

  • 光标 .svg 在 Chrome 61.0.3163.100 中不起作用

    我对这个 css 有疑问 我都尝试过auto and default但我仍然看到默认光标 cursor url img extra arrow next svg auto cursor url img extra arrow next sv
  • 如何仅提取 mysql 和 php 中具有非零值的列?

    我正在尝试从 mysql 数据库中提取并显示在网页上 仅非零列 哪一列的日期是 0000 00 00 我不想在网页上显示这些列 下面分别是HTML代码和php脚本
  • 您可以使用 Jekyll 的 _includes 文件夹中的子目录吗?

    我的计划是在 includes目录 包括 页脚 包括 英雄 includes cta etc 当我引用那个时 include footers footer1 html 我收到以下错误 Liquid Exception Included fi
  • 如何将正文中的数字替换为波斯数字?

    我想将 html 内容中的每个数字转换为波斯数字 而不会对页面元素产生其他影响 例如 div style color c2c2c2 text number 1 span text number 2 span div text number
  • 如何将默认文本添加到 html 文本区域的开头?

    我正在建立一个个人的小型社交网络 作为设计的一部分 所有状态都应以不应更改的默认文本开始 类似于 嗨 我的名字是 然后用户完成其余的操作 有点像不会消失的 HTML5 占位符 实现这一目标的最佳方法是什么 请参考这个fiddle http
  • CSS 文本装饰:反向

    我很惊讶 CSS 中没有 text decoration reverse 因为使用 JavaScript 来实现似乎非常尴尬 IE 将元素的前景色和背景色分别设置为父元素的背景色和前景色 我注意到了 JavaScript 技术here ht
  • Javascript RegEx 替换所有不在 HTML 标签内的字符

    寻求一些帮助 我的正则表达式有点生锈 我试图用一个字符替换 javascript 中 HTML 标签之外的所有字符 例如 用破折号 替换这些字符 div class test Lorem Ipsum br Dolor Sit Amet di
  • 调整表格上的列宽

    目前 如果表格的宽度不大于容器的宽度 我可以调整表格列的大小 我希望发生的是在调整列大小时表格的宽度增加 以便滚动条出现在表格下方 基本上允许我调整大小而不受容器宽度的限制 这是一个小提琴 https jsfiddle net thatOn
  • django 管理站点导航侧边栏搞砸了

    我最近在我的项目中添加了一个包并做了一个pip freeze gt requirements txt然后 然后我做了pip install r requirements txt到我的本地 它添加了一个侧边栏 I did a pip inst
  • 网格属性不适用于网格容器内的元素

    我正在尝试定位嵌套li ul li ul li 在最顶层创建的 CSS 网格上ul 还没有爱 它不起作用 也许这是不可能的 或者我错过了什么 orgChart ul orgChartLevel1 display grid grid temp
  • 什么是离散动画?

    The MDN 动画文档 https developer mozilla org en US docs Web CSS animation v control指动画类型是离散 这是什么意思 离散动画从一个关键帧进行到下一关键帧 无需任何插值
  • 为什么虽然输入的值确实发生了变化,但jquery更改事件没有触发? [复制]

    这个问题在这里已经有答案了 JSFIDDLE http jsfiddle net meXm3 2 网页代码
  • Angular Material 中的 img 标签内的 md-tooltip

    我想在悬停在 3 个不同图像上时显示 3 个不同的工具提示
  • PHP DOMDocument 中 XML 内 HTML 表的 Xpath 查询

    我有一个具有以下树结构的 XML 文件
  • 使浮动div高度相同

    我有 2 个并排的 div 我预先不知道它们的高度 它根据内容而变化 有没有一种方法可以确保它们始终具有相同的高度 即使其中一个拉伸 仅使用 CSS 我做了一个小提琴来展示 我希望红色和蓝色的 div 高度相同 http jsfiddle
  • Electron 中的收据热敏打印机

    我需要找到一种在 javascript 中打印收据的方法Electron 我已经尝试过了QZ TRAY但由于 Electron 它不起作用 我也尝试过节点热敏打印机但它也从来没有对我有用 这里有人知道如何在 javascript Elect
  • Firefox 扩展中的 localStorage

    我正在尝试从 Firefox 扩展访问页面的 localStorage 我的理解是content给出了参考window当前页面的 当我尝试访问页面的 localStorage 时content localStorage 我想我正在得到它的参
  • 如何在 data-disable-with 上设置 html 到 Rails Submit_tag

    我有一个使用 bootstrap 的 RoR 应用程序 我正在尝试将 fontawesome html 图标标签应用于 Submit tag 帮助程序 但它似乎不受支持 当我单击 提交 时 禁用内容仅显示为字符串 而不是解释为 html 尽
  • Bootstrap 轮播中的 Href

    我一直在Interwebz上搜索 但似乎找不到答案 如何在轮播链接中添加 href 我尝试将 a 标签放在 h1 标签之外 但它破坏了滑块本身的功能 这是我的代码 div class col sm 12 div class carousel
  • 将背景图像放入菱形容器中会导致容器失去形状

    标题总结得很好 我可以很容易地绘制菱形 但是当我将图像添加到背景时 它会为形状添加更多边 我似乎无法弄清楚为什么添加背景图像时会发生这种情况 任何意见 将不胜感激 这是我的代码 请原谅内联 css 我只是这样做 直到我有一个可行的解决方案

随机推荐