dispaly结合背景图片会提升加载性能

简介: dispaly结合背景图片会提升加载性能

1.display的常见现象


我们很多人都知道,display可以让元素实现隐藏或者显示。


或者让行级元素变成块级元素。


对它的认识也是比较准确的。


如果一个元素使用了display:none;


那么该元素将会隐藏,无法进行点击,屏幕设置将会无法访问。


但是今天我的意外发现, display: none;并不是我们想象的那样简单。


它是一个有"故事的属性"


现在我们来看一看它究竟有哪些我们不知道的现象。


2. 在谷歌浏览器中什么情况使用 display 图片不会进行加载


如果图片的父级元素或者图片本身使用了display:none,


并且图片使用background:url("")的方式引入图片


那么图片将不会进行网络请求,也就不会进行加载。


不信的话可以来看一下下面这一段断码


<p> 如果图片的父级元素或者图片本身使用了display:none</p>
<p> 使用background:url("")这样的方式引入图片</p>
<p> 那么图片将不会进行网络请求,也就不会进行加载</p>
<div class="father-box">
    <div class="bgimng"></div>
</div>


<style>
    .father-box {
        display: none;
    }
    .bgimng {
        background: url("img/bgg.png");
    }
</style>


image.gif



根据上面的动态图片。


我们发现刷新页面确实不会对图片进行网络请求。


我们刚刚说: display: none;


不会对图片进行网络请求有两个条件


条件1:父级元素或者图片本身使用display: none;


条件2:图片以background: url("") 的方式插入图片


这两个条件是缺一不可的。


不信我们来一一验证。


3.不使用display图片会进行请求吗?


图片不使用display(这样就不符合条件1)


图片依旧使用background: url("") 的方式插入图片(符合条件2)


看看是否会进行网络请求。


我们发现对图片进行了网络加载


<p>图片不使用display;</p>
<p>这样就不符合条件1</p>
<p> 图片依旧使用background: url("") 的方式插入图片</p>
<p> 图片进行了网络加载</p>
<div class="father-box">
    <div class="bgimng"></div>
</div>


.bgimng {
    background: url("img/bgg.png");
}


36f0729c7a6a479c82fd7ee0d12cf7bb_tplv-k3u1fbpfcp-watermark.gif


4.不使用背景图的方式插入图片会进行网络加载吗?


图片不是以background: url("") 的方式插入图片


而是以img标签的方式。那么图片将会在所有的浏览器上被进行网络请求。


我们可以来看一下


<p>图片图片不是以background: url("") 的方式插入图片</p>
<p>而是以img标签的方式。那么图片将会在所有的浏览器上被进行网络请求。</p>
<p>会进行网络请求</p>
<div class="father-box">
    <img src="./img/bgg.png">
</div>


<style>
    .bgimng {
        display: none;
    }
</style>


a977314328774d18bd1247f03d73fc54_tplv-k3u1fbpfcp-watermark.gif


我们知道在网页中显示图片有以背景图的方式插入。


还有以img标签的形式进行展示。


但是他们配合dispaly会产生是否对图片进行加载。


利用他们这样特征。


那么我们可以对网站图片进行性能上的提升。

相关文章
|
6月前
|
移动开发 JavaScript 小程序
uView LoadingPage 加载页
uView LoadingPage 加载页
127 1
|
Web App开发 移动开发 前端开发
多种方法实现Loading(加载)动画效果
当我们ajax提交一个按钮的时候,给那个按钮来个Loading效果会高端很多,体验也会上升个层次。 既能让用户知道正在提交中,也能防止二次提交,好处多多呢。
多种方法实现Loading(加载)动画效果
|
JavaScript 区块链
项目性能优化之用url-loader把小图片转base64,大图片使用image-webpack-loader压缩
项目性能优化之用url-loader把小图片转base64,大图片使用image-webpack-loader压缩
361 0
|
缓存
ViewPager懒加载的实现,理解setUserVisibleHint,而不只是会用就好
Viewpager默认会缓存临近操作的两个页面,也就是至少会缓存一个页面。
206 0
ViewPager懒加载的实现,理解setUserVisibleHint,而不只是会用就好
|
前端开发 API
PACE - 为你的网站添加页面加载进度条
pace-js 是一个为网站添加页面加载进度条的库,可以为任意网站自动添加上页面加载进度条,提供了多种主题样式。
glide的error和placeholder支持.9patch
glide的error和placeholder支持.9patch
|
前端开发
关于Layer web弹层组件的加载(loading)层位置居中问题
关于Layer web弹层组件的加载(loading)层位置居中问题
193 0
|
Dart 开发者
【Flutter】Image 组件 ( 内存加载 Placeholder | transparent_image 透明图像插件 )
【Flutter】Image 组件 ( 内存加载 Placeholder | transparent_image 透明图像插件 )
332 0
【Flutter】Image 组件 ( 内存加载 Placeholder | transparent_image 透明图像插件 )
Glide类似You cannot start a load for a destroyed activity异常简单分析
Glide类似You cannot start a load for a destroyed activity异常简单分析
325 0
Glide类似You cannot start a load for a destroyed activity异常简单分析
|
Web App开发
Page Ruler - 网页标尺
Page Ruler是一款可以测量Chrome浏览器中网页元素大小尺寸的谷歌浏览器插件。页面尺寸测量工具,前端设计师专用。可以测量页面元素、图片和文本的尺寸、位置。Page Ruler是一款可以快速测量出当前页面中某个元素大小尺寸的Chrome插件,在Chrome中安装了Page Ruler插件以后,可以点击浏览器右上角的Page Ruler插件在任何页面中启动它来测量相关的元素大小。
2835 0