7

我目前正在开发一个网站,但遇到了 Safari 的问题。加载图像时,有一个黑色背景作为支架放置。我希望它是透明的或白色的,但我似乎无法弄清楚。看看这个:

http://blazing-ocean-6482.herokuapp.com/

我已经让 html 和 body 有 background-color:white; 但这似乎并没有改变问题。

4

6 回答 6

2

只需使用interlaced选项保存PNG图像

于 2012-09-19T12:30:55.463 回答
2

我在 safari 6 中遇到了同样的问题。我的图像在灰度色彩空间中。我将它切换到 rgb,问题就消失了。尝试检查您的图像色彩空间设置!

于 2013-01-28T08:47:17.497 回答
1

这是因为 PNG 没有 alpha 通道。仅当图像具有透明像素时,Photoshop 才会使用 Alpha 通道保存图像。为了在 Safari 中正常工作,PNG 图像的 IHDR 块必须在其内容中包含“truecolor-apha”。您可以在tweakpng ( http://entropymine.com/jason/tweakpng/ ) 或类似程序中看到 png 块。

于 2013-06-27T01:33:51.463 回答
0

我遇到了与上述相同的问题(也仅在 Safari 中)。我的body标签有一个背景图片,是repeat-x,用作整个网站的背景。当用户在 Safari 中访问页面时,页面加载时会出现黑色闪烁。我已经寻找了很长时间的解决方案,但它似乎是 Safari 的一个未解决的错误。

我尝试将“样式:背景颜色:#FFF”添加到 html 和正文标签,还尝试使用老派的“bgcolor:#FFF” - 没有用。

我能让 Safari 正常运行的唯一方法是使用 CSS + jQuery。在你的 html 和 CSS 文件中给 body 一个“bg-on”类。在链接的 .js 文件或标签中的 html 页面中:

jQuery(function ($) {
$(document).ready(function(){

$('body').removeClass('bg-on');

});//end document ready

/* NOTE (window).load fires when images have been fully loaded */
$(window).load(function() {

$('body').addClass('bg-on');

});//end window load function
});//end jQuery function no conflict mode

上面所做的是当浏览器加载 DOM 时,它会从正文中删除类,因此 Safari 不会显示黑色背景,因为没有背景图像。然后当 window.load 事件触发时,当所有资源都加载完毕后,body 会被赋予背景图像......

它也不会影响禁用 JS 的浏览器,因为“bg-on”类被硬编码到 html 中。

不是一个特别优雅的解决方案,但它对我有用。

于 2012-04-09T20:17:08.897 回答
0

我最近在 Safari 6.0.2 中遇到了这个问题,它也出现在移动 Safari 中(至少在 iOS 6 中)。将我的背景保存为隔行扫描并不能全面工作,颜色空间是 RGB。谢天谢地,我的背景颜色很少,将其转换为 GIF 完全解决了这个问题。

于 2013-02-15T06:42:08.987 回答
0

我的问题是,我上传了正确的文件,但是使用页面构建器我编辑了图像 - 并从 png 转换为 jpg。首先用 alpha 制作 png,然后上传 - 工作。

于 2020-10-06T02:16:56.057 回答