Image Safari在加载时渲染图像背景为黑色

Image Safari在加载时渲染图像背景为黑色,image,safari,background-color,Image,Safari,Background Color,我目前正在一个网站上工作,与Safari有一个问题。加载图像时,会有一个黑色背景作为替代放置。我宁愿这是透明的或白色的,但我似乎无法理解。请查看: 我已经使html和身体有背景色:白色;但这似乎并没有改变问题。我遇到了与上面相同的问题(也只是在Safari中)。我的身体标签有一个背景图像,是repeat-x,用作整个网站的背景。当用户在Safari中进入页面时,页面加载时会出现黑色闪烁。我已经寻找了很多年的解决方案,但它似乎是Safari的一个未解决的bug 我曾经尝试过在html和body标

我目前正在一个网站上工作,与Safari有一个问题。加载图像时,会有一个黑色背景作为替代放置。我宁愿这是透明的或白色的,但我似乎无法理解。请查看:


我已经使html和身体有背景色:白色;但这似乎并没有改变问题。

我遇到了与上面相同的问题(也只是在Safari中)。我的身体标签有一个背景图像,是repeat-x,用作整个网站的背景。当用户在Safari中进入页面时,页面加载时会出现黑色闪烁。我已经寻找了很多年的解决方案,但它似乎是Safari的一个未解决的bug

我曾经尝试过在html和body标签中添加“style:background color:#FFF”,还尝试过使用老式的“bgcolor:#FFF”——没有效果

让Safari表现良好的唯一方法是使用CSS+jQuery。在html和CSS文件中给主体一个“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事件激发时,当所有资源都已加载时,主体将获得背景图像

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


这不是一个特别优雅的解决方案,但对我来说很有效

只需使用
交错
选项保存PNG图像

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

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

之所以出现这种情况,是因为PNG没有alpha通道。 仅当图像具有透明像素时,Photoshop才使用alpha通道保存图像。 为了在Safari中正常工作,PNG图像的IHDR块中必须包含“truecolor apha”。
你可以在tweakpng()或类似的程序中看到png块。

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

我尝试了“交错”,但它并没有解决问题,至少在Safari 6.0.2中是这样。