加载文件时,加载CSS文件中的每个图像都会加载吗?

Jas*_*vis 11 css

假设我将我的整个网站CSS放在1个css文件中,所以它相当大,我想知道一个页面是否使用3个类,如下所示从服务器请求3个图像,让我们说有50个这样的东西在整个css文件中,每个人都可以从服务器调用/请求,还是只需要页面需要的3个?

background-image:url(http://localhost/images/btn3.gif);
Run Code Online (Sandbox Code Playgroud)

nic*_*ckf 27

有一种简单的方法可以找到(好吧,不仅仅是要求Stack Overflow).把它放到一个CSS文件中:

#nonExistantElement {
    background-image: url(myScript.php);
}
Run Code Online (Sandbox Code Playgroud)

并使该脚本通过写入文件或其他内容来记录命中.


好的,我现在就自己做了.事实证明:不,它没有得到文件.(在Firefox 3.5.2,IE7,Chrome 2.0上测试过)

  • +1用于大胆测试之前没有测试过的地方:) (4认同)
  • 您可以简单地使用火狐中的NET选项卡,其中HTML没有使用背景图像的元素.... (2认同)
  • @Itay,是的,或者我可以做到这一点,并跨浏览器测试它;) (2认同)

Joe*_*win 7

我不这么认为.悬停时会加载悬停伪类(鼠标悬停)所需的图像,并且第一个外观可能会有明显的延迟(除非您使用作弊来预先加载它).


小智 6

浏览器将加载显示页面所需的内容.虽然我可以想象各种浏览器可以使用某些缓存技术并预取他们在CSS文件中看到的所有内容.


Jef*_*eff 6

你的答案就在于萤火虫

  • 是的,不是.Firebug不会记录Firefox发出的所有HTTP请求.例如,它不记录`favicon.ico`请求. (2认同)