• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    div或img图片高度随宽度自适应的方法

    该方法主要用来做网站自适应的,同时可以实现撑起内容高度,避免图片加载后导致的页面滚动。

    一、可以使用js判断图片的宽度得到具体数值之后,再来利用js设置图片的高度(这里就不具体为大家细说了)。

    利用js来实现有一个缺点就是只能在页面刷新的时候才能调整图片的高度,不能随着浏览器的窗口大小变化来实现自适应。

    二、我这次主要是用css来实现图片高度的自适应问题。

    下面是所需要的代码

    (这种方法是可以在图片上方垂直居中展示文字的,如果不需要可以选择最下方更简洁的代码)

    <div class="box">
     <span>行内元素垂直居中</span>
     <div class="img-box">
      <img src="123.jpg"/>
            </div>
    </div>
    
    .box{
     width: 50%;
     margin: 50px auto;
    }
    .img-box{
     width: 100%;
     position:relative;
     z-index:1;
    }
    .img-box img{
     position:absolute;
     top:0;
     bottom:0;
     left:0;
     right:0;
     width:100%;
     margin:auto;
     z-index: -1;
     *zoom:1;
    }
    .img-box:before {
     content: "";
     display: inline-block;
     padding-bottom: 100%;
     width: 0.1px; /*必须要有数值,否则无法把高度撑起来*/
     vertical-align: middle;
    }
    
    

    1、这里主要为大家说明的就是padding-bottom这个属性,当它的值为百分比的时候,是按该元素的宽度来计算的。所以当设为100%的时候,其高度就等于自身的宽度,形成一个正方形。当然,这个数值可以根据实际情再进行调整。
    2、其次要说明的就是我们引用的图片是通过绝对定位来布局的,这样才能使图片跟随其父元素的大小改变来实现自适应。

    另一种简洁的方法就是直接在img的父元素上加padding-bottom就行了

    <div class="img-box">
     <img src="123.jpg"/>
    </div>
    .img-box{
     padding-bottom:100%;
    }
    .img-box img{
     position:absolute;
     top:0;
     bottom:0;
     left:0;
     right:0;
     width:100%;
     margin:auto;
    }
    
    

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    上一篇:HTML5 实现图片上传预处理功能
    下一篇:使用canvas压缩图片上传的方法示例
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    div或img图片高度随宽度自适应的方法 div,或,img,图片,高度,随,