CSS或者svg canvas目前是否能实现iOS14应用列表顶部的渐变高斯模糊效果?

新手上路,请多包涵

iOS14顶部的高斯模糊半径从下到上是从0到一定数值的,如图所示:
image.png
而目前在CSS实现高斯模糊普遍采用的是filter:blur(<数值>)来实现高斯模糊。
这种高斯模糊只能实现单一模糊半径的情况。
如何实现在类似blur()参数内部嵌套gradient的想法得到变半径的模糊效果?
就如同iOS14应用列表顶部效果一样。

阅读 2.9k
2 个回答

可以用 backdrop-filter + mask实现,先整体模糊,然后用遮罩实现渐变层

.wrap::before{
    content: '';
    position: absolute;
    inset: 0;
    backdrop-filter: blur(10px);
    -webkit-mask: linear-gradient(#000 20%,transparent);
}

https://codepen.io/xboxyan/pe...

效果如下

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题