一个关于img的请求次数的问题

如下:

这里有三个关于图片的加载(三张图片不一样),那么display:nonevisibility:hidden是否对img的请求造成影响呢?


我们来验证一下便知晓,Chrome的F12查看Network:

显然,4次请求,其中3次img请求!(这里使用的是Chrome)


关于图片请求的不同情况不同浏览器下可能都会有不同的结果。

具体可参考:https://www.haorooms.com/post/web_http_request

总结图片请求的不同情况,有以下几种:

1. 隐藏图片

display: none —— 只有Opera不产生请求。

visibility: hidden —— 在Opera下也会产生请求。

2. 隐藏元素的背景

Opera和Firefox对于用display: none隐藏的元素背景,不会产生HTTP请求。

3. 重复图片(所加载图片是一样的

所有浏览器产生一次请求

4. 重复背景

所有浏览器产生一次请求

5. 页面中不存在的元素的背景

不请求(只用对应元素在html页面中存在时,才会加载图片,先渲染DOM,再渲染CSS 树)

6.  多重背景

请求最后一个(样式覆盖)

7. hover的背景加载

触发hover时,才会请求

8. JS里innerHTML中的图片

只有Opera不会马上请求图片。当添加到DOM树上时,Opera才会发送请求。

9. 图片预加载

你可能感兴趣的:(一个关于img的请求次数的问题)