关于display:none;的图片加载

1、如果元素有{display: none;}的样式的话,标签上的图片会被请求加载,但是不会被渲染

例子:

<style>
.img-container {
background-image: url(../imgs/icon1.png);
}
</style>
<div class="img-container" style="display:none"></div>
<img src="../imgs/icon2.png" style="display:none">

其中icon1.png和icon2.png会请求后端进行加载,但是因为样式属性不会计算该元素的布局

2、如果父元素有{display: none;}的样式的话,子元素在样式表中的背景图片既不会渲染也不会加载,但是标签上的图片会被加载不会被渲染

例子:

 
<style>
.img-container {
background-image: url(../imgs/icon1.png);
}
</style>
<div style="display:none">
<div class="img-container"></div>
<img src="../imgs/icon2.png">
</div>

3、伪类背景图片只在触发伪类时候才会请求加载(因此建议请求雪碧图—即一堆小图汇总到一张大图上,这样不会有UI跳跃感)

4、已经请求过的相同图片不会重复请求

5、不存在的元素,即时样式表里有写,也不会请求加载

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值