收藏
回答

IOS真机下动态修改filter:drop-shadow导致的渲染异常问题

框架类型 问题类型 操作系统 操作系统版本 手机型号 微信版本
小程序 Bug iOS iOS12.3.1 iphone7p 7.0.5

在ios上动态修改filter:drop-shadow会导致上一次的shadow值没有消除导致遗留显示问题,

真机下自测机型iphone 7p, ios全系列都会如此,安卓正常。

个人猜测原因:filter:drop-shadow导致的渲染问题

测试代码片段(请在ios真机下测试)https://developers.weixin.qq.com/s/Nv93bBmB7xbt

具体表现,图示:

正常情况:



渲染异常情况:


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

5 个回答

  • wuldjxixgk
    wuldjxixgk
    2019-09-25

    目前加了transform: translateZ(0);添加到gpu复合层渲染就正常了。

    2019-09-25
    有用 11
    回复 8
    • Jesse
      Jesse
      2021-03-10
      大佬 有用👍
      2021-03-10
      回复
    • K
      K
      2022-04-11
      可以的 感谢
      2022-04-11
      回复
    • 小飞侠
      小飞侠
      2022-05-11
      可以正常渲染了,但是原图如何隐藏
      2022-05-11
      回复
    • 不到
      不到
      2022-07-02
      感谢大佬
      2022-07-02
      回复
    • 偶尔有风
      偶尔有风
      2023-02-12
      这是什么意思,有代码示范?
      2023-02-12
      回复
    查看更多(3)
  • 神经蛙
    神经蛙
    2023-11-02

    试了n种版本。最终:

    解决办法  不要使用overflow:hidden  可以试着想办法用其他元素遮盖隐藏主元素,

    我是把图变成白色了。和背景一样了。并加上 transform: translateZ(0);

    style="transform:translateZ(0);filter:brightness(2000%) drop-shadow(80rpx 0px {{demolist.bgcolor?demolist.bgcolor:'#1476FC'}});margin-left: -80rpx;"



    2023-11-02
    有用
    回复
  • 努力努力再努力
    努力努力再努力
    2023-09-19

    参考张鑫旭的文章在Chrome浏览器下,如果一个元素的主体部分,无论以何种方式,只要在页面中不可见,其drop-shadow是不可见的;实体部分哪怕有1像素可见,则drop-shadow完全可见。https://www.zhangxinxu.com/wordpress/2016/06/png-icon-change-color-by-css/

    2023-09-19
    有用
    回复
  • 慢慢。
    慢慢。
    2020-12-21

    H5 也会这样,求解决方法。iPhone 8 Plus,iOS 12.2

    2020-12-21
    有用
    回复
  • 灵芝
    灵芝
    2019-09-24

    给filter做一下兼容吧

    2019-09-24
    有用
    回复 2
    • wuldjxixgk
      wuldjxixgk
      2019-09-24
      做兼容是指?加webkit前缀吗?加了webkit前缀依然如此
      2019-09-24
      回复
    • wuldjxixgk
      wuldjxixgk
      2019-09-25
      目前加了transform: translateZ(0);添加到gpu复合层渲染就正常了
      2019-09-25
      3
      回复
登录 后发表内容
问题标签