Firefox重新下载每个类的背景图像?

时间:2009-08-10 13:37:05

标签: css background-image

如果我有一个包含50个div元素的页面,有50个单独的css类,并且每个css类都有一行:

background:#000 url(curve_red/circle.png) no-repeat 0 0;

然后Firefox(3.5)将为同一个文件发出50个http请求(使用firebug验证)。

但IE会看到这种重复,并且不会在每次请求后尝试重新下载文件(使用fiddler验证)。

这是一个错误还是任何人都可以提供任何有关firefox为什么这样做的见解?

2 个答案:

答案 0 :(得分:1)

只是一个猜测,但你可以尝试将背景属性放入1个css类而不是50个?这至少可以消除你的css中的重复,并且可以解释为什么FF不会只发出1个请求。

当然,您可以为div添加多个类,以便它们仍然可以保留其他单独的样式,例如。

.myBackground { background:#000 url(curve_red/circle.png) no-repeat 0 0; }
.class1 { color: blue; }
.class2 { color: red; }

然后在你的HTML中:

<div class="class1 myBackground">blue div</div>
<div class="class2 myBackground">red div</div>

答案 1 :(得分:0)

您是否因某种原因禁用了缓存?这可能是通过扩展(您从未知道)或通过使用CTRL-F5或CTRL-SHIFT-R等键组合重新加载页面而不仅仅是F5或CTRL-R。除此之外,我还没有能够重建这种行为。我认为你可以说它确实不是Firefox 3.5中的一个错误。

您还可以使用新配置文件检查问题(使用-P命令行开关重新启动Firefox以访问配置文件管理器。)