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的方法
Aug 29 HTML / CSS
一款简洁的纯css3代码实现的动画导航
Oct 31 HTML / CSS
详解css3 flex弹性盒自动铺满写法
Sep 17 HTML / CSS
解决CSS3 transition-delay 属性默认值0不带单位失效的问题
Oct 29 HTML / CSS
详解Html5微信支付爬坑之路
Jul 24 HTML / CSS
html5时钟实现代码
Oct 22 HTML / CSS
HTML5之SVG 2D入门9—蒙板及mask元素介绍与应用
Jan 30 HTML / CSS
使用HTML5技术开发一个属于自己的超酷颜色选择器
Sep 22 HTML / CSS
HTML5 Canvas实现图片缩放、翻转、颜色渐变的代码示例
Feb 28 HTML / CSS
HTML5 新标签全部总汇(推荐)
Jun 13 HTML / CSS
基于HTML5的WebGL经典3D虚拟机房漫游动画
Nov 15 HTML / CSS
完美实现CSS垂直居中的11种方法
Mar 27 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
全国FM电台频率大全 - 28 甘肃省
2020/03/11 无线电
PHP 各种排序算法实现代码
2009/08/20 PHP
一步一步学习PHP(5) 类和对象
2010/02/16 PHP
php输出echo、print、print_r、printf、sprintf、var_dump的区别比较
2013/06/21 PHP
Joomla使用Apache重写模式的方法
2016/05/04 PHP
php实现计算百度地图坐标之间距离的方法
2016/05/05 PHP
深入理解PHP中mt_rand()随机数的安全
2017/10/12 PHP
JavaScript表单常用验证集合
2008/01/16 Javascript
浅说js变量
2011/05/25 Javascript
javascript面向对象编程代码
2011/12/19 Javascript
js在输入框屏蔽按键,只能键入数字的示例代码
2014/01/03 Javascript
jQuery+css实现的切换图片功能代码
2016/01/27 Javascript
详解Webwork中Action 调用的方法
2016/02/02 Javascript
分享javascript实现的冒泡排序代码并优化
2016/06/05 Javascript
JavaScript实现鼠标点击导航栏变色特效
2017/02/08 Javascript
微信小程序列表渲染功能之列表下拉刷新及上拉加载的实现方法分析
2017/11/27 Javascript
jQuery动态生成的元素绑定事件操作实例分析
2019/05/04 jQuery
Vue实现图书管理小案例
2020/12/03 Vue.js
[01:01:51]EG vs VG Supermajor小组赛B组 BO3 第二场 6.2
2018/06/03 DOTA
[41:05]Serenity vs Pain 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
[07:09]DOTA2-DPC中国联赛 正赛 Ehome vs Elephant 选手采访
2021/03/11 DOTA
星球大战与Python之间的那些事
2016/01/07 Python
深入解析Python中的__builtins__内建对象
2016/06/21 Python
Python 2与Python 3版本和编码的对比
2017/02/14 Python
python 识别图片中的文字信息方法
2018/05/10 Python
详解python中__name__的意义以及作用
2019/08/07 Python
Python 解码Base64 得到码流格式文本实例
2020/01/09 Python
BIFFI美国站:意大利BIFFI BOUTIQUES豪华多品牌时装零售公司
2020/02/11 全球购物
大学生就业自我鉴定
2013/10/26 职场文书
酒店人事专员岗位职责
2013/12/19 职场文书
书法培训心得体会
2014/01/05 职场文书
2015年人事专员工作总结
2015/04/29 职场文书
2015年工商所工作总结
2015/05/21 职场文书
盲山观后感
2015/06/11 职场文书
2019年12月24日平安夜祝福语集锦
2019/12/24 职场文书
python blinker 信号库
2022/05/04 Python