图片,背景图片的响应式布局

网页布局,如全屏轮播等,或者其他需要根据宽高等比缩放的图片。对于图片布局来说,如果高度自适应的话,一开始父级高度为0,需要等图片加载完成之后,才能撑开父级div,这样会对整体布局有影响,存在闪动效果,用户体验不佳。而且会影响js计算模块高度的等问题。

javaScript动态计算高度

对全屏显示的图片,根据图片宽高比动态计算出图片的高度,赋值给父级div。
这一方法有种,杀鸡焉用牛刀的感觉。

图片占位

根据图片比例选取一个透明的占位图,用来撑开父级div。里面的图片用position:absolute定位。自适应整个盒子。

不足:额外请求一张图片;也需要等图片加载出来,才能撑开父级div。

padding值

利用padding取值百分比来设定高度。垂直高度的padding取百分比值的时候,是相当于其父级的宽度的。

<div class="wrap">
    <div class="img_box">
        <img src="" / >
    </div>
</div>

css:
.wrap{
    position: relative;
    margin: 5% 10%;
    border: 1px solid #ccc;
 }
 .wrap:before{
     content: '';
    display: block;
    width: 100%;
    padding-top: 100%;
 }
 .img_box{
     position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: #fff;
 }
 .img_box img{
    max-width: 100%;
    height: auto;
    width:100%;
    vertical-align: top;
  }


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值