CSS Unknown Distortions仅在Angular Application中的iOS上发生

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

几个月的谜团还有待解决,我希望有人之前见过这个,并知道如何解决它。使用Angular框架构建PWA,我遇到了CSS图像和CSS转换如何导致扭曲和显示的问题,这有效意味着在更正之前无法为iOS设备发布应用程序。

它非常不一致,一次从一个到几个图像随机发生。它只发生在iOS中。在以下设备上进行测试和复制:

  • iPhone 6(iOS 12.1.4)Safari和Chrome以及PWA Standalone
  • iPhone 6s(iOS 12.1.4)Safari和Chrome以及PWA Standalone
  • iPhone 6+(iOS 12.1.4)Safari和Chrome以及PWA Standalone
  • iPhone x(iOS 12.2)Safari和Chrome以及PWA Standalone
  • iPad Pro(iOS 12.2)Safari和Chrome以及PWA Standalone

任何Android设备都不会发生回到Galaxy S4和Galaxy Tab A,也不会出现像Pixel 3那样......也不会出现在台式机上的Chrome,Safari或Firefox中。

还有一些图标将在整个图标集中复制,例如在标签栏上。

Inline Style

<div style="background-image: url('/assets/elements/SolidCircleCheck.png');
background-position: center center; 
background-size: contain; 
background-repeat: no-repeat; 
image-rendering: crisp-edges; 
height: 3rem; width: 3rem; 
filter: brightness(2) 
drop-shadow(rgba(0, 0, 0, 0.4) 0px 0px 0.1rem); 
margin: auto;"></div>

Using Class rather than inline

<div class="nav-tab-section-a nav-tab-inactive">
  <img class="nav-tab-image text-no-select" src="/assets/nav/Chat.png" alt="Chat">
  <br /><span class="nav-tab-title text-no-select">Members</span>
</div>

.nav-tab-section-a {
    grid-area: nav-tab-section-a;
}
.nav-tab-active, .nav-tab-inactive {
    margin: 0 auto;
    align-content: center;
    text-align: center;
}
.nav-tab-inactive {
    -webkit-filter: brightness(110%);
    filter: brightness(110%);
}
.nav-tab-image {
    height: 3.25rem;
}
.text-no-select {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

如您所见,问题出现在内联样式和样式表方法以及使用HTML本机<img>标记和div背景。

有一段时间我认为它可能是一个Angular Lifecycle钩子问题,其中重新绘制了元素,但是这已经被纠正,并且每次DOM更改都不会重新渲染图像。

以前有没有遇到过这个问题?

ios css angular safari
2个回答
0
投票

我会立即怀疑这是一个PNG编码问题。使用其他软件产品重新保存所有PNG资产,并尝试追踪创建PNG的人员的来源以及他们使用的软件。

您需要完全重新生成PNG文件。所以我首先保存为另一种格式,如TIFF,然后再次重新保存为PNG。确保强制图像编辑器重新生成所有PNG颜色数据,标题和编码。

您可以使用免费的开源编辑器来执行此操作:

https://www.gimp.org/

Safari Web浏览器具有扭曲图像的历史记录。流行且常用的图形文件包含各种内部编码标准。虽然文件扩展名可能一直是PNG,JPG或TIFF。编码,格式和内容的版本可能有很大差异。使用最新的图像软件,并确保正确生成PNG文件是一个重要的步骤。

参考Safari图像问题:

https://discussions.apple.com/thread/6680826

https://discussions.apple.com/thread/7648947


0
投票

当我在图片中添加过滤器时,我开始在iOS Safari中遇到此问题。只是猜测它可能是像素密度问题或性能问题。

目前正在寻找解决方案,而不是为iOS用户关闭它。以下是我发现的一些答案:

Why is filter(drop-shadow) causing my SVG to disappear in Safari?

Slow CSS Filters on iPhone?

然而,最后的解决方案可能会耗尽更多的电池。

© www.soinside.com 2019 - 2024. All rights reserved.