iOS11图像渲染问题

问题描述 投票:7回答:2

在iOS11的iPhone设备上,我遇到渲染图像的问题。我正在做的是在滚动上延迟加载图像列表,但是随机地某些图像无法呈现。我已经尝试在Safari桌面上进行调试,它显示img标签确实设置了src但是它仍然不会渲染,直到我做一些操作打开任何完全覆盖该区域的层。

我尝试过的事情: -

  1. transform3d使用GPU渲染。使用不透明度,也将改变。
  2. 通过JS为元素添加一些样式以触发重排/重绘

一个疑问:它是否必须对PPI(Pixel Per Inch)做任何事情。目前其150PPI。我需要将它降低到72PPI吗?

我会给出问题实际发生的链接,但不能真的很抱歉

小提琴示例:

http://jsfiddle.net/y37eL2hp/4/

全屏:http://fiddle.jshell.net/y37eL2hp/4/show/light/

HTML

<div ng-app="myapp">
  <div ng-controller="Mycontroller">
    <div class="my-product" ng-repeat="product in products track by $index">
      <div class="my-productimgblk">
            <ng-lazy-load-img imgsrc="product" class="lazy-smooth-load my-productimg" elem-type="img" elem-width="309" elem-height="400" load-offset-top="860"></ng-lazy-load-img>
      </div>
    </div>
  </div>
</div>

我检查了上面的例子,它有同样的问题。在重新加载时清除缓存

css angularjs iphone image ios11
2个回答
0
投票

显然有一个已知的问题被认为与Safari有关,假设晦涩的单宽方形字符,一旦加载了字体,它会超出你的javascript包含你的lazyload脚本。

解决方法的解决方案是包含常见的后备字体,即

font-family: "Your strange font", Arial, Sans-Serif;

或者也许使用谷歌字体

希望尽管IOS11系统很快就会得到补丁!

有关更多信息,请参阅此链接:https://bugs.webkit.org/show_bug.cgi?id=174031


0
投票

它似乎又回到了iOS11的黑客攻击。过去我们需要使用-webkit这样的黑客攻击,但现在我们又需要它,但没有前瞻......

img {
    transform: rotateZ(360deg);
}
© www.soinside.com 2019 - 2024. All rights reserved.