当前位置: 首页 > Web前端 > CSS

图片未加载时的高度填充

时间:2023-03-30 13:41:15 CSS

场景中部分图片宽度固定,高度自适应。图片未加载时,高度为0,加载完成后拉伸高度。在这个过程中,页面会闪烁和抖动。width作为参考,得到图片的纵横比。比如一张100*50的图片就是20%。将父元素的宽度设置为图片的最终宽度。如果不设置高度,则使用padding-top来填充高度,比如padding-top:20%代码中加入希望一张图片宽度为100%,高度自适应,图片像素为1920x576html结构

css.img-box{位置:相对;顶部:0;左:0;宽度:100%;溢出:隐藏;顶部填充:30%;/*主要是这一行,取值为图片的高宽,比如576/1920=0.3*/}.img-boximg{position:absolute;顶部:0;左:0;宽度:100%;height:100%;}增加可控高度max-height还是以上面的html结构为例,css添加伪类内容,使用padding开启高度css.img-box{position:relative;顶部:0;左:0;宽度:100%;溢出:隐藏;最大高度:300px;控制classparent*/background中的最大和最小高度:#3f3f3f;/*在图片加载慢的时候添加背景色可以更清楚的看到效果*/}.img-box:after{content:"";显示:块;底边距:30%;/*主要是这一行,取值为图片的高和宽,比如576/1920=0.3*//*padding-top或者padding-bottom都可以*/}.img-boximg{position:absolute;顶部:0;左:0;无线dth:100%;height:100%;}演示地址