假设我有这样的结构
<div class=A>
<div class=B>
<dialog/>
</div>
</div>
现在我想在 A 上应用模糊效果,一旦我打开对话框,我就可以使用不透明度来查看模糊后面的所有内容并实现 Mac 不透明窗口效果。 所以,到目前为止我所做的是这个
.B {
opacity: 0.9;
padding: 20px;
position: relative;
z-index: 5;
}
.A{
-webkit-filter: blur(7px);
-moz-filter: blur(15px);
-o-filter: blur(15px);
-ms-filter: blur(15px);
filter: blur(15px);
z-index: 1;
}
如您所见,我为 B 提供了更多的 z-index 以使其高于 A,并且我设置了不透明度以查看 A 后面的模糊效果。
但是目前还没有什么好的结果。一切都很模糊,因此 z-index 无法正常工作。
知道我做错了什么吗?
我想实现将 A 置于模糊状态并让我的对话框保持清晰,但增加一些不透明度。这就是我想要的效果
问候。
最佳答案
-webkit-filter: blur(7px);
-moz-filter: blur(15px);
-o-filter: blur(15px);
-ms-filter: blur(15px);
filter: blur(15px);
Filter 是一个继承属性,也会影响 A
的内容。
你需要这样的结构来避免来自 A
的影响:
<div class=A></div>
<div class=B>
<dialog/>
</div>
使用 box-shadow
来实现 blur
效果可能更好?
关于html - z-index 不适用于模糊效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30119780/