CSS控制前端图片HTTP请求的情况

隐藏图片

<img src='xxx.jpg' style='display:none'>

结论:产生HTTP请求,此外使用visiblity:hidden的时候也会产生请求。

重复图片

<img src='xxx.jpg'>
<img src='xxx.jpg'>

结论:所有浏览器对重复的资源都只发出一次请求。

重复背景

<style>
    .test1{background:url(xxx.jpg)}
    .test2{background:url(xxx.jpg)}
</style>
<div class='test1'></div>
<div class='test2'></div>

结论:所有浏览器都只发出一次HTTP请求

不存在的元素的背景

<style>
    .test1{background:url(xxx.jpg)}
    .test2{background:url(xxx.png)}
</style>
<div class='test1'></div>

结论:背景仅在应用的元素在页面中存在的时候,才会发出请求。

隐藏元素的背景

<style>
    .test1{
        background:url(xxx.jpg);
        display:none;
    }
    .test2{background:url(xxx.png)}
</style>
<div class='test1'></div>

结论:Chrome会为display:none;的元素发出请求,但是fireFox和opera不会为display:none;的元素发出HTTP请求。

多重背景

<style>
    .test1{
        background:url(xxx.jpg);
    }
    .test1{background:url(xxx.png)}
</style>
<div class='test1'></div>

结论:因为下面的样式把上面的掩盖掉,所以只会发出一次HTTP请求。

hover的背景加载

<style>
    .test1{
        background:url(xxx.jpg);
    }
    .test1:hover{background:url(xxx.png)}
</style>
<div class='test1'></div>

结论:触发hover时,才会有对应的HTTP请求,如果没有触发,默认只会有请求默认的背景图片

JS中innerHTML中的图片

<script type="text/javascript">   
    var el = document.createElement('div');   
    el.innerHTML = '<img src="haorooms.jpg" />';   
</script>  

结论:只有Opera不会立刻发出请求,其余浏览器会发出HTTP请求。


 上一篇
BFC BFC
什么是BFCBFC(Block Formatting Context):格式化上下文,是Web页面中盒模型布局的css渲染模式,指一个独立的渲染区域或者说是一个隔离的独立容器。它决定了其子元素如何定位,以及与其他元素的相互作用关系。 BFC
2019-06-08
下一篇 
CSS中的各种单位 CSS中的各种单位
单位 解释 px 绝对单位,页面按照精确像素显示。 em 相对单位,基准点为父节点字体的大小,如果自身定义了font-size,则以自身字体大小来计算 。 rem 相对单位,可以理解为root em,根据页面根节点HT
2019-06-06
  目录