(1)平常在小程序端实现图片宽高等比自适应容器的方式是
利用padding,设置height:0;是为了避免出现高度比实际高的问题。
子元素的 padding 属性百分比的值是先对父容器的宽度而言。

.container{
  width: 100%;
  font-size: 30rpx;
  height: 100%;
}
.container .top-user-info{
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 45%;
  color: #fff;
}

(2) 通过 vw 视口单位实现(此方法积累与别处,详情见文末)
视口单位: 100vw 等于视口宽度的 100%,即 1vw 等于视口宽度的 1%。
实现方式为移动端

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>cccccm</title>
    <style>
        *{
            margin: 0;
            padding: 0
        }
        .box{
            width: 100%;
            height:51.5vw
        }
        .box img{
            width: 100%;
        }
    </style>
</head>
<body>
    <div class="box">
        <img src="http://images.pingan8787.com/2019_07_12guild_page.png" alt="">
    </div>
</body>
</html>

优点:无论图片是否加载成功,容器高度始终是计算完成,不会造成页面抖动,也不会造成页面重绘,从而提升性能。
原本链接:https://mp.weixin.qq.com/s/N_fljYog_3Z9Z6ulVpVPrQ

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐