css - 将两个元素与`backdrop-filter: blur()`对齐
问题描述
当您将两个元素与 a 对齐时,backdrop-filter: blur()
您(自然)会在中间得到一条丑陋的线。尽管如此,当您需要比简单正方形更复杂的形状时,可能需要两个相邻的元素。两个元素如何排列而不产生如此丑陋的线条?
警告:这仅适用于启用了实验性 Web 平台功能的 Chrome,并且可能适用于 Safari 和 Edge 17。
div {
position: relative;
width: 400px;
}
.cover {
background: rgba(0,0,0,.1);
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
position: absolute;
top: 0px;
bottom: 0px;
width: 50%;
z-index: 1;
}
#left {
left: 0px;
top: 10px;
}
#right {
right: 0px;
bottom: 10px;
}
<div>
<div id="left" class="cover"></div>
<div id="right" class="cover"></div>
<img src="https://www.google.com/google.jpg">
<div>
解决方案
由于您已经仅限于 webkit,因此您可以利用 clip-path。使用单个封面元素,并给它你想要的形状。
div {
position: relative;
width: 800px;
}
.cover {
background: rgba(0, 0, 0, .1);
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
position: absolute;
top: 0px;
bottom: 0px;
width: 50%;
z-index: 1;
-webkit-clip-path: polygon(50% 10%, 50% 0%, 100% 0, 100% 90%, 50% 90%, 50% 100%, 0 100%, 0% 10%);
}
<div>
<div class="cover"></div>
<img src="https://www.google.com/google.jpg">
</div>
推荐阅读
- php - 调试 wordpress:如何找出与动作挂钩的所有功能
- python - 使用 OpenCV 调整图像大小后图像通道丢失
- r - 如何在 SparkR 中使用 stats::poly 创建正交多项式?
- c# - C# 错误 CS0266:无法隐式转换类型“System.Array”
- delphi - Delphi 10.2 - 返回单击的 TButton 或 TEdit 的名称
- excel - 创建新工作簿时 VBA 速度慢
- android - 应用报告 Google Analytics 和 Firebase:使用定义
- android - 安卓UI组件设计
- angular - @Viewchild 元素上的单击方法不起作用
- javascript - Angular js post无法序列化对象