CSS控制前端图片HTTP请求的各种例子
图片中有很多HTTP请求的情况,那么什么情况不会发生呢让我列举一个例子,我希望它能帮助您深入了解HTTP图片请求。1。隐藏图片
xml代码将内容复制到剪贴板。
HTTP请求如下:
结论:只有Opera不产生请求。注意:当使用可见性时,隐藏以隐藏图片,将在Opera下生成请求。
2。重复图片
xml代码将内容复制到剪贴板。
HTTP请求如下:
结论:所有浏览器只有一个请求。
三.重复的背景
CSS代码将内容复制到剪贴板。
。test1 {背景:URL(haorooms .jpg)}
。test2 {背景:URL(haorooms .jpg)}
test1
test2
HTTP请求如下:
结论:所有浏览器只有一个请求。
4。不存在元素的背景
CSS代码将内容复制到剪贴板。
。test1 {背景:URL(haorooms .jpg)}
URL。test2(http2.mm258.最新地址JPG){背景:}没有类元素的test2 / *页
test1
HTTP请求如下:
结论:背景只在页面中应用元素存在时产生请求,这对于CSS框架是非常有意义的。
5。隐藏元素的背景
CSS代码将内容复制到剪贴板。
。test1 {背景:URL(haorooms .jpg);显示:无;}
。test2 {背景:URL(http2.mm258.最新地址JPG);能见度:隐藏;}
test1
HTTP请求如下:
结论:Opera和Firefox不生成隐藏在显示元素的背景中的HTTP请求:没有。只有当这些元素不显示时,才会要求背景图片。
6。多重背景
CSS代码将内容复制到剪贴板。
。test1 {背景:URL(haorooms .jpg);}
。test1 {背景:URL(http2.mm258.最新地址JPG);}
test1
上述代码的HTTP请求只会要求http2.jpg图片,因为test1类覆盖以上的,所有这些要求的照片背后。
如果CSS3写多背景图片:
CSS代码将内容复制到剪贴板。
。test1 {背景图像:URL(haorooms .jpg),URL(http2.mm258.最新地址jpg);}
test1
然后HTTP请求如下所示:
WebKit引擎的浏览器请求的背景图,因为它支持多个背景图的CSS3。
7。在后台加载
CSS代码将内容复制到剪贴板。
a.test1 { background: url(haorooms .jpg);}
a.test1:悬停{ background: url(http2.mm258.最新地址JPG);}
test1
HTTP请求如下:
结论:当悬停触发时,将要求悬停状态的背景。如果没有触发,则只要求默认背景图片。
图片8。JS innerHTML
Javascript代码将内容复制到剪贴板。
var el = document.createelement('div);
El.innerHTML = '';
/ / document.body.appendchild(EL);
HTTP请求如下:
结论:只有Opera没有立即要求图片。
注意:Opera在添加到DOM树时发送请求。
9。图片加载
最常用的是js方案:
Javascript代码将内容复制到剪贴板。
新的图像()。src= 'haorooms .jpg;
新的图像()。src= 'http2 .jpg;
在没有js支持的环境中,可以使用隐藏元素预加载:
CSS代码将内容复制到剪贴板。
总结
1。对于隐藏和隐藏元素的背景,Opera不产生请求。
2。对于隐藏元素的背景,Firefox不生成请求。
3、对于img元素还没有被插入到DOM树,歌剧不产生一个请求。
4。基于WebKit引擎和浏览器Safari支持多个背景图。
5。其他场景,所有主流浏览器都是一致的。
希望以上图片http请求帮助你,你可以互相沟通!