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


Posted in HTML / CSS onFebruary 06, 2020

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

一、可以使用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;
}

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

HTML / CSS 相关文章推荐
彻底弄明白CSS3的Media Queries(跨平台设计)
Jul 27 HTML / CSS
css3中单位px,em,rem,vh,vw,vmin,vmax的区别及浏览器支持情况
Dec 06 HTML / CSS
CSS3 实现发光边框特效
Nov 11 HTML / CSS
探究 canvas 绘图中撤销(undo)功能的实现方式详解
May 17 HTML / CSS
使用phonegap创建联系人的实现方法
Mar 30 HTML / CSS
H5调用相机拍照并压缩图片的实例代码
Jul 20 HTML / CSS
详解px单位html5响应式方案
Mar 08 HTML / CSS
html5调用app分享功能示例(WebViewJavascriptBridge)
Mar 21 HTML / CSS
canvas 基础之图像处理的使用
Apr 10 HTML / CSS
HTML5中input输入框默认提示文字向左向右移动的示例代码
Sep 10 HTML / CSS
Web前端:CSS最强总结 附详细代码
Mar 31 HTML / CSS
面试必问:圣杯布局和双飞翼布局的区别
May 13 HTML / CSS
HTML5 实现图片上传预处理功能
Feb 06 #HTML / CSS
微信小程序canvas实现水平、垂直居中效果
Feb 05 #HTML / CSS
Html5定位终极解决方案
Feb 05 #HTML / CSS
canvas简单连线动画的实现代码
Feb 04 #HTML / CSS
html5手机键盘弹出收起的处理
Jan 20 #HTML / CSS
canvas实现烟花的示例代码
Jan 16 #HTML / CSS
使用iframe+postMessage实现页面跨域通信的示例代码
Jan 14 #HTML / CSS
You might like
用PHP制作静态网站的模板框架(四)
2006/10/09 PHP
PHP中list()函数用法实例简析
2016/01/08 PHP
PHP面向对象自动加载机制原理与用法分析
2016/10/14 PHP
php中引用符号(&amp;)的使用详细介绍
2016/12/06 PHP
PHP实现留言板功能的详细代码
2017/03/25 PHP
JavaScript 关键字屏蔽实现函数
2009/08/02 Javascript
innerHTML与jquery里的html()区别介绍
2012/10/12 Javascript
jquery插件实现鼠标经过图片右侧显示大图的效果(类似淘宝)
2013/02/04 Javascript
Jquery动态替换div内容及动态展示的方法
2015/01/23 Javascript
学习JavaScript编程语言的8张思维导图分享
2015/03/27 Javascript
使用jQuery+EasyUI实现CheckBoxTree的级联选中特效
2015/12/06 Javascript
高性能JavaScript循环语句和条件语句
2016/01/20 Javascript
基于jquery实现ajax无刷新评论
2020/08/19 Javascript
jQuery实现日期联动效果实例
2016/07/26 Javascript
vue.js将unix时间戳转换为自定义时间格式
2017/01/03 Javascript
setTimeout学习小结
2017/02/08 Javascript
AngularJS中filter的使用实例详解
2017/08/25 Javascript
react-native-tab-navigator组件的基本使用示例代码
2017/09/07 Javascript
详解webpack打包后如何调试的方法步骤
2018/11/07 Javascript
浅谈javascript错误处理
2019/08/11 Javascript
微信小程序 bindtap 传参的实例代码
2020/02/21 Javascript
[40:04]Secret vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.23
2019/09/05 DOTA
详解Python编程中time模块的使用
2015/11/20 Python
100行Python代码实现自动抢火车票(附源码)
2018/01/11 Python
50行Python代码实现人脸检测功能
2018/01/23 Python
python之cv2与图像的载入、显示和保存实例
2018/12/05 Python
Python列表(List)知识点总结
2019/02/18 Python
PYTHON如何读取和写入EXCEL里面的数据
2019/10/28 Python
浅谈keras 模型用于预测时的注意事项
2020/06/27 Python
解决PDF 转图片时丢文字的一种可能方式
2021/03/04 Python
CSS3解析抖音LOGO制作的方法步骤
2019/04/11 HTML / CSS
美国第二大连锁药店:Rite Aid
2019/04/03 全球购物
Antler英国官网:购买安特丽行李箱、拉杆箱
2019/08/25 全球购物
高级销售员求职信
2013/10/25 职场文书
后勤人员岗位职责
2013/12/17 职场文书
2016年班主任新年寄语
2015/08/18 职场文书