收藏
回答

css中blur()在iOS18.4和鸿蒙5无法正确显示?

直接使用filter:blur(2px);和backdrop-filter:blur(2px);都是一样的问题,下面看图

首先是在官方开发工具的模拟器中,这是想要的效果:

注意看底栏模糊显示的部分,文字与图片都被正确地高斯模糊了:

然后看我手持iOS18.5设备(另有一篇帖子大佬提到18.4也有同样的问题)截图的画面:

应该很明显能分辨出,这跟模拟其中的效果差远了:

下面是为了实现模拟器中效果的代码:

backdrop-filter: blur(2px);


是的只有这一行(当然还有透明白色背景和边框这样的东西应该是问题根源吧),然后就是两种效果。

同时,在安卓机上预览的效果跟模拟器一致,在鸿蒙5设备上预览的效果跟iOS一致,我就不重复贴图了。

贴一下提到的大佬的帖子:

https://developers.weixin.qq.com/community/develop/doc/000a040ccfc4d003b823d584167800

回答关注问题邀请回答
收藏

3 个回答

  • 带妹狂熊
    带妹狂熊
    2天前

    解决办法找到了:

    在<page-meta>标签中添加背景色background-color属性。

    2天前
    有用 1
    回复
  • H1HAO 🇨🇳
    H1HAO 🇨🇳
    2天前

    小程序对backdrop-filter兼容很差,需要改成


    -webkit-filter: blur(2px);
    		-moz-filter: blur(2px);
    		-ms-filter: blur(2px);
    		filter: blur(2px);
    
    2天前
    有用
    回复 1
    • 带妹狂熊
      带妹狂熊
      2天前
      我尝试了这种写法,还是不行
      2天前
      回复
  • 北望沣渭
    北望沣渭
    2天前

    需要兼容写法例如:

    .my-blur {
      backdrop-filter:blur(2px);
      -webkit-backdrop-filter: blur(2px);
    }
    
    2天前
    有用
    回复 1
    • 带妹狂熊
      带妹狂熊
      2天前
      试过这个写法,不行,问题还是没变
      2天前
      回复
登录 后发表内容