CSS背景图像不加载(CSS Background Images not loading)

2019-06-27 16:32发布

我有在Chrome一个非常奇怪的错误最近,当加载页面第一次,或在隐身模式下,没有任何背景图像的显示。

当你按下F5页面时,背景图像的所有负载英寸

当您检查CSS它显示在CSS面板中的图像的URL,但是当你将鼠标放在链接它不与图像的预览显示工具提示。

无论是当您检查下载的资源,甚至有背景图像下载的任何提及。

再刷新页面,它工作正常,CSS的网址的工具提示甚至可以显示预览。

该错误只发生随机在第一次加载偶尔,没有办法保证重现此。

也是其值得大家注意,它不勾选,然后retick对铬它,然后下载的background-image属性并显示图像。

我有一块的jQuery的是解决问题,但你可以看到它几乎很优雅!

$('*').each(function(){
var bg = $(this).css('background-image');
$(this).css('background-image', 'none');
$(this).css('background-image', bg);

});

这种情况发生在铬的多个版本的Windows的每个实例。

任何想法将是巨大的! 谢谢!

你也许能看到它发生在http://ensa.ac.uk

这里是一个视频演示@ http://youtu.be/oLTyhk5rXgE

Answer 1:

只是要注意的。

这个问题已经得到了解决。

问题是,浏览器下载最后所有的CSS背景图像。 所以,如果你的完成下载图片,加载网页时它再次从缓存加载之前刷新页面。 但因为图像没有完全下载他们不正确显示。



Answer 2:

首先,解决这些问题:

backg1round-color: #c7dfe3;
backg1round-color: rgba(255,255,255,0.67);

如果图像是一个子文件夹,然后使用

url('images/logo-bg2.jpg');

代替

url('/images/logo-bg2.jpg');

在的main.css



Answer 3:

试试这个。 虽然没有测试;

$('*').each(function(){
var bg = $(this).css('background');
$(this).css('background', 'none');
$(this).css('background', bg);
});

并提出相关的变化(即, background-imagebackground在你的CSS也)。

或尝试;

$('*').each(function(){
var bg = $(this).css('background-image');
$(this).css('background-image', 'none');
$(this).css('background-image','url(bg)'); // or try url("bg") i am confused :P
});

从一些搜索和研究,我来到了一个结论;

我想解决这个的方式是使用类。 对每个状态的一个单独的CSS类,然后只需使用jQuery来更改类。 这将确保所有图像的实际下载和使用,当你设置类 - 这是我认为Chrome的失败(可能所有WebKit浏览器会做到这一点)



Answer 4:

Change css class as:


#nav
{
    background-image: url(../images/logo-bg2.jpg);
    height: 180px;
}


Answer 5:

欧文,

我仍然看到对我工作的应用程序这个问题。 我知道这也是一个哈克的解决方案,但它是一个小比您已经发布了jQuery的解决方案少哈克。 我只是扔了一个版本号基于时间后的CSS包括它

例如, “相对=” 样式表”类型= “文本/ CSS”/>

我知道,这将导致CSS永远不会被缓存,但我还没有发现任何其他解决方案。



文章来源: CSS Background Images not loading