【发布时间】:2022-11-09 23:41:22
【问题描述】:
我有一个带有mask-image 集的容器div 和两个带有backdrop-filter 集的子div:
<div class="scroll-view">
<div class="inner"></div>
<div class="inner"></div>
</div>
body {
background-image: url("https://images.unsplash.com/photo-1653744971341-ae4a77618399?crop=entropy&cs=tinysrgb&fm=jpg&ixid=MnwzMjM4NDZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE2NTYzODM1OTM&ixlib=rb-1.2.1&q=80");
}
.scroll-view {
width: 300px;
height: 450px;
border: 1px solid red;
-webkit-mask-image: linear-gradient(transparent, black 20%, black 80%, transparent);
mask-image: linear-gradient(transparent, black 20%, black 80%, transparent);
overflow-y: scroll;
}
.inner {
backdrop-filter: blur(10px);
width: 200px;
height: 200px;
margin: 50px;
border: 1px solid green;
background: rgba(255, 255, 255, 0.2);
}
在滚动孩子时,我希望它们会在容器的顶部和底部边缘淡出。此外,儿童区域下的背景应该是模糊的。
但是当设置mask-image 时,不会应用模糊滤镜。只有当我注释掉mask-image 时它才有效,为什么?
这是 codepen sn-p:https://codepen.io/perqin/pen/rNdNBmy。
【问题讨论】: