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实现input多选框自定义样式的方法示例
Jul 19 HTML / CSS
html5利用canvas绘画二级树形结构图的示例
Sep 27 HTML / CSS
HTML5 Canvas 破碎重组的视频特效的示例代码
Sep 24 HTML / CSS
html5教程实现Photoshop渐变色效果
Dec 04 HTML / CSS
html5各种页面切换效果和模态对话框用法总结
Dec 15 HTML / CSS
HTML5拖放API实现拖放排序的实例代码
May 11 HTML / CSS
详解HTML5中的picture元素响应式处理图片
Jan 03 HTML / CSS
H5最强接口之canvas实现动态图形功能
May 31 HTML / CSS
利用 Canvas实现绘画一个未闭合的带进度条的圆环
Jul 26 HTML / CSS
HTML5实现移动端弹幕动画效果
Aug 01 HTML / CSS
web前端之css水平居中代码解析
May 20 HTML / CSS
HTML5页面打开微信小程序功能实现
Sep 23 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中json_encode中文编码问题分析
2011/09/13 PHP
php权重计算方法代码分享
2014/01/09 PHP
YII CLinkPager分页类扩展增加显示共多少页
2016/01/29 PHP
基于PHP后台的Android新闻浏览客户端
2016/05/23 PHP
php微信公众平台开发(一) 配置接口
2016/12/06 PHP
PHP设计模式之原型模式定义与用法详解
2018/04/03 PHP
PHP如何搭建百度Ueditor富文本编辑器
2018/09/21 PHP
QUnit jQuery的TDD框架
2010/11/04 Javascript
E3 tree 1.6在Firefox下显示问题的修复方法
2013/01/30 Javascript
jquery获取特定name所有选中的checkbox,支持IE9标准模式
2013/03/18 Javascript
jQuery制作仿腾讯web qq用户体验桌面
2013/08/20 Javascript
jquery中插件实现自动添加用户的具体代码
2013/11/15 Javascript
js中document.write使用过程中的一点疑问解答
2014/03/20 Javascript
原生JavaScript生成GUID的实现示例
2014/09/05 Javascript
JavaScript实现俄罗斯方块游戏过程分析及源码分享
2015/03/23 Javascript
JavaScript编程中布尔对象的基本使用
2015/10/25 Javascript
jQuery表格插件datatables用法详解
2020/11/23 Javascript
不同js异步函数同步的实现方法
2016/05/28 Javascript
JS计算输出100元钱买100只鸡问题的解决方法
2018/01/04 Javascript
Vue.directive()的用法和实例详解
2018/03/04 Javascript
vue 刷新之后 嵌套路由不变 重新渲染页面的方法
2018/09/13 Javascript
react-router 路由切换动画的实现示例
2018/12/03 Javascript
[01:14:55]EG vs Spirit Supermajor 败者组 BO3 第三场 6.4
2018/06/05 DOTA
[55:11]完美世界DOTA2联赛PWL S2 SZ vs LBZS 第一场 11.26
2020/11/30 DOTA
Python实现股市信息下载的方法
2015/06/15 Python
解决webdriver.Chrome()报错:Message:'chromedriver' executable needs to be in Path
2019/06/12 Python
美国在线印刷公司:PsPrint
2017/10/12 全球购物
演讲稿怎么写才完美
2014/01/02 职场文书
优秀教师先进事迹
2014/01/22 职场文书
逃课检讨书怎么写
2015/01/01 职场文书
一年级语文下册复习计划
2015/01/17 职场文书
自主招生自荐信范文
2015/03/04 职场文书
成绩单家长意见
2015/06/03 职场文书
2016领导干部廉洁自律心得体会
2016/01/13 职场文书
话题作文之关于呼唤
2019/11/29 职场文书
《悬崖边的树》读后感2篇
2019/12/02 职场文书