【css】未加载完成的图片如何先占位(仅限宽高比确定的图片)

技术分享  / 只看大图  / 倒序浏览   ©

#楼主# 2020-2-18

跳转到指定楼层

马上注册,分享更多源码,享用更多功能,让你轻松玩转云大陆。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
一、题目情景

很多时候盒子都是被图片撑起来的,当图片失效或者还没加载出来的时候,很有可能会影响样式。
比如下面这组布局,看起来很和谐,但是当一张图片加载不出的时候,就会出现文字被移动上去的样式题目,很影响结果,如何才能在这种环境下把上面留白占位呢?
053503lxz70vtc770cma78.png
053504zhbf88fj3nzddhas.png
布局:
       
  •         

            1
       
  •         

            2
       
  •         

            3
二、解决方案

最简单的直接给盒子先加上高度?但是现在的开发中通常必要自顺应,元素宽度均根据页面变化而变化,所以图片的宽高也会按比例变化,在图片盒子上先设置高度也是不可取的。
于是尝试以下办法可解决:
首先我们可以确定这组图片的宽高比,这组图片的高度是宽度的72%左右。
css:
        div{            position: relative;            padding-top:72%;  // (你的图片的高度/宽度值)        }        img{            position: absolute;            top:0;            right:0;            width:100%;        }
053505uumdr2p33p3k3zkl.png
可以看到题目顺利解决了,思路就是用padding撑起图片div的高度,保证里面无论有没有图片都不会塌陷,但是padding会挤掉正常的图片,所以我们可以使图片相对于图片盒子进行绝对定位,定位到左上角,就OK了。
分享淘帖
回复

使用道具

您的回复是对作者最大的奖励

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于作者

袂禾

新手猿

  • 主题

    2

  • 帖子

    2

  • 关注者

    0

Archiver|手机版|小黑屋|云大陆 | 赣ICP备18008958号-4|网站地图
Powered by vrarz.com!  © 2019-2020版权所有云大陆