zoukankan      html  css  js  c++  java
  • 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>
    

    111使用.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");
    }
    

    002.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>
    

    003.gif

    我们知道在网页中显示图片有以背景图的方式插入。
    还有以img标签的形式进行展示。
    但是他们配合dispaly会产生是否对图片进行加载。
    利用他们这样特征。
    那么我们可以对网站图片进行性能上的提升。
    
    作者:明月人倚楼
    出处:https://www.cnblogs.com/IwishIcould/

    想问问题,打赏了卑微的博主,求求你备注一下的扣扣或者微信;这样我好联系你;(っ•̀ω•́)っ✎⁾⁾!

    如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,或者关注博主,在此感谢!

    万水千山总是情,打赏5毛买辣条行不行,所以如果你心情还比较高兴,也是可以扫码打赏博主(っ•̀ω•́)っ✎⁾⁾!

    想问问题,打赏了卑微的博主,求求你备注一下的扣扣或者微信;这样我好联系你;(っ•̀ω•́)っ✎⁾⁾!

    支付宝
    微信
    本文版权归作者所有,欢迎转载,未经作者同意须保留此段声明,在文章页面明显位置给出原文连接
    如果文中有什么错误,欢迎指出。以免更多的人被误导。
  • 相关阅读:
    postgresql 高可用 etcd + patroni 之四 failover
    mysql 高可用架构 mha 之三 master_ip_online_change
    postgresql 一种比较个性的 sql 写法
    mysql 高可用架构 mha 之二 master_ip_failover
    mysql 高可用架构 mha 之一 安装
    vacuum 不释放文件系统空间
    mysql slave 复制冲突的解决
    mysql 8.0 登录报错
    oceanbase的一些网址信息
    cockroachdb的一些网址信息
  • 原文地址:https://www.cnblogs.com/IwishIcould/p/15034298.html
Copyright © 2011-2022 走看看