【发布时间】:2012-09-22 15:53:51
【问题描述】:
我在 Chrome 中遇到了一个奇怪的错误,我将以下 CSS 规则应用于元素:
#element {
background-color: #0E0F10;
background-image: url(images/the_background.jpg);
}
现在,当我第一次打开一个包含“#element”的新页面时,直到我使用 ctrl+f5 刷新页面缓存后才会显示背景图像。
我尝试添加 Pragma、Expires 和 Cache-control 元标记,但没有任何区别。 唯一能让图片第一次显示的方法就是把绝对url这样放:
#element {
background-color: #0E0F10;
background-image: url(http://site.com/images/the_background.jpg);
}
现在的问题是我无法硬编码站点 url,我需要使用相对或相对于根路径的路径。
环顾四周,我发现了一个修复 Chrome 中相关错误的肮脏技巧,巧合的是,它也修复了这个问题:http://blog.andrewcantino.com/blog/2012/02/15/fixing-the-chrome-background-refresh-bug/
基本上,当我第一次打开页面时,所有背景图像都会通过 JavaScript 重新加载,从这里开始就可以正常工作了。
但是我想实施更优雅的修复或找到问题的真正原因。
我会很感激任何建议。
【问题讨论】:
-
你的 css 文件保存在哪里?与您的图像导演的父目录相同吗?如果不尝试使用 url(../images/the_background.jpg)
-
只是为了它,你能看看它是否改变了将网址放在单引号中的东西吗?
-
图像的路径很好,我也尝试将路径放在引号中,但没有运气。如果我打开 Chrome 开发人员工具栏,请取消选中并再次检查(禁用-启用)有问题的背景属性,它会在第二次加载图像时正常。
-
介意粘贴整个 CSS 文件吗?以及您的 html 文件的结构,以便我快速浏览一下?
标签: css google-chrome