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截图_动力节点Java学院整理
Jul 11 HTML / CSS
详解CSS3 弹性布局快速入门
Jun 06 HTML / CSS
让IE6支持css3,让 IE7、IE8 都支持CSS3
Oct 09 HTML / CSS
简单掌握CSS3中resize属性的用法
Apr 01 HTML / CSS
用React加CSS3实现微信拆红包动画效果
Mar 13 HTML / CSS
HTML5地理定位与第三方工具百度地图的应用
Nov 17 HTML / CSS
HTML5的video标签的浏览器兼容性增强方案分享
May 19 HTML / CSS
html5定制表单_动力节点Java学院整理
Jul 11 HTML / CSS
利用HTML5中Geolocation获取地理位置调用Google Map API在Google Map上定位
Jan 23 HTML / CSS
HTML5中drawImage用法分析
Dec 01 HTML / CSS
解决html5中video标签无法播放mp4问题的办法
May 07 HTML / CSS
基于HTML5 Canvas的3D动态Chart图表的示例
Nov 02 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面向对象全攻略 (十五) 多态的应用
2009/09/30 PHP
phpexcel导出excel的颜色和网页中的颜色显示不一致
2012/12/11 PHP
基于PHP读取csv文件内容的详解
2013/06/18 PHP
js 获取服务器控件值的代码
2010/03/05 Javascript
js 图片等比例缩放代码
2010/05/13 Javascript
javascript检测浏览器的缩放状态实现代码
2014/09/28 Javascript
jQuery中removeData()方法用法实例
2014/12/27 Javascript
JavaScript通过join函数连接数组里所有元素的方法
2015/03/20 Javascript
第一章之初识Bootstrap
2016/04/25 Javascript
通过BootStrap实现轮播图的实际应用
2016/09/26 Javascript
关于angularJs指令的Scope(作用域)介绍
2016/10/25 Javascript
详解webpack3如何正确引用并使用jQuery库
2017/08/26 jQuery
简单谈谈关于Angular Cli打包的事
2017/09/05 Javascript
vue+elementUI实现表单和图片上传及验证功能示例
2019/05/14 Javascript
微信小程序非跳转式组件授权登录的方法示例
2019/05/22 Javascript
Layui选项卡制作历史浏览记录的方法
2019/09/28 Javascript
Vuex的API文档说明详解
2020/02/05 Javascript
JavaScript接口实现方法实例分析
2020/05/16 Javascript
vue 实现setInterval 创建和销毁实例
2020/07/21 Javascript
jQuery实现朋友圈查看图片
2020/09/11 jQuery
[01:10]DOTA2次级职业联赛 - Fly战队宣传片
2014/12/01 DOTA
Python类方法__init__和__del__构造、析构过程分析
2015/03/06 Python
Python复制目录结构脚本代码分享
2015/03/06 Python
python在线编译器的简单原理及简单实现代码
2018/02/02 Python
Python简单计算文件MD5值的方法示例
2018/04/11 Python
pandas进行数据的交集与并集方式的数据合并方法
2018/06/27 Python
Pandas操作CSV文件的读写实现方法
2019/11/13 Python
Python爬虫制作翻译程序的示例代码
2021/02/22 Python
HTML5 使用 sessionStorage 进行页面传值的方法
2018/07/02 HTML / CSS
.net开发工程师面试题
2014/02/25 面试题
数控专业自荐书范文
2014/03/16 职场文书
《大作家的小老师》教学反思
2014/04/16 职场文书
教师节作文之小学四年级
2019/09/03 职场文书
Python 流媒体播放器的实现(基于VLC)
2021/04/28 Python
Go 在 MongoDB 中常用查询与修改的操作
2021/05/07 Golang
详解Python如何批量采集京东商品数据流程
2022/01/22 Python