在 css 中设置了 display:none 的元素是否仍会被浏览器下载?

Does a element with display:none set in css still get downloaded by the browser?

提问人:Cato Johnston 提问时间:7/23/2010 更新时间:10/30/2014 访问量:3914

问:

浏览器还会下载图像吗?

<img src="/myimage.jpg" style="display:none;" />
HTML CSS格式

评论

0赞 onlyurei 10/30/2014
建议将标题更改为“在 css 中设置了 display:none 的图像是否仍能被浏览器下载?

答:

1赞 advait 7/23/2010 #1

是的。图像的渲染与图像的下载无关。

编辑:
尝试使用Chrome或Firefox对页面资源进行时序测试。请注意,所有图像都会被下载。即使是显示样式设置为无的。

1赞 alex 7/23/2010 #2

是的。

但是,顺便说一句,某些浏览器不会下载属性为 0 的图像。现在找不到源代码,刚刚测试了Firefox和Safari,他们确实下载了它。一定是IE,任何人都可以为我测试吗?谢谢。widthheight

如有疑问,请嗅探线路,或使用特定于浏览器的工具(Firebug for Firefox、Web Inspector for Webkit 等)

4赞 Jason McCreary 7/23/2010 #3

是的,至少根据 Firebug 中的 Net 控制台。

正如 thethimble 所说,CSS 是表示层,影响渲染,而不是页面的实际处理。

对于某些浏览器(尤其是移动设备)来说,为了优化性能而可能不下载它的可能性并不大。

评论

0赞 Cato Johnston 7/23/2010
我以为是这样,只需要说服一个同事。
5赞 Paul D. Waite 10/7/2011
显然,Opera 没有。测试页:quirksmode.org/css/displayimg.html
0赞 onlyurei 10/30/2014 #4

怪癖模式:图像和显示:无

当 image 具有或位于 的元素中时,浏览器可以选择不下载图像,直到 设置为另一个值。display: nonedisplay:nonedisplay

只有 Opera 会在您切换到 时下载图像。 所有其他浏览器都会立即下载它。displayblock