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的flexbox实现水平垂直居中与三列等高布局
Sep 12 HTML / CSS
CSS3实现类似翻书效果的过渡动画的示例代码
Sep 06 HTML / CSS
纯CSS3实现地球自转实现代码(图文教程附送源码)
Dec 26 HTML / CSS
任意一块网页内容实现“活”的背景(目前火狐浏览器专有)
May 07 HTML / CSS
CSS3实现自定义Checkbox特效实例代码
Apr 24 HTML / CSS
HTML5中的nav标签学习笔记
Jun 24 HTML / CSS
Html5剪切板功能的实现代码
Jun 29 HTML / CSS
HTML5的结构和语义(2):结构
Oct 17 HTML / CSS
HTML5 新事件 小结
Jul 16 HTML / CSS
HTML5 manifest离线缓存的示例代码
Aug 08 HTML / CSS
前端实现背景虚化但内容清晰且自适应 的实例代码
Aug 01 HTML / CSS
CSS文本阴影 text-shadow 悬停效果详解
May 25 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验证码类代码分享(已封装成类)
2011/07/17 PHP
纯PHP生成的一个树叶图片画图例子
2014/04/16 PHP
PHP 实现代码复用的一个方法 traits新特性
2015/02/22 PHP
PHP获取当前文件的父目录方法汇总
2016/07/21 PHP
PHP微信公众号开发之微信红包实现方法分析
2017/07/14 PHP
PHP基于Closure类创建匿名函数的方法详解
2017/08/17 PHP
js 实现图片预加载(js操作 Image对象属性complete ,事件onload 异步加载图片)
2011/03/25 Javascript
js 中的switch表达式使用示例
2020/06/03 Javascript
node.js使用nodemailer发送邮件实例
2014/03/10 Javascript
javascript实现输出指定行数正方形图案的方法
2015/08/03 Javascript
详解JavaScript中的事件流和事件处理程序
2016/05/20 Javascript
js弹出框、对话框、提示框、弹窗实现方法总结(推荐)
2016/05/31 Javascript
仿Angular Bootstrap TimePicker创建分钟数-秒数的输入控件
2016/07/01 Javascript
浅谈js中对象的使用
2016/08/11 Javascript
利用AngularJs实现京东首页轮播图效果
2016/09/08 Javascript
概述VUE2.0不可忽视的很多变化
2016/09/25 Javascript
JS使用正则实现去掉字符串左右空格的方法
2016/12/27 Javascript
浅谈对Angular中的生命周期钩子的理解
2017/07/31 Javascript
js推箱子小游戏步骤代码解析
2018/01/10 Javascript
vue中v-cloak解决刷新或者加载出现闪烁问题(显示变量)
2018/04/20 Javascript
微信分享invalid signature签名错误踩过的坑
2020/04/11 Javascript
[02:40]DOTA2超级联赛专访430 从小就爱玩对抗性游戏
2013/06/18 DOTA
Python自动化运维和部署项目工具Fabric使用实例
2016/09/18 Python
Python 从一个文件中调用另一个文件的类方法
2019/01/10 Python
PyQt5 QTableView设置某一列不可编辑的方法
2019/06/25 Python
Python之time模块的时间戳,时间字符串格式化与转换方法(13位时间戳)
2019/08/12 Python
HTML5+CSS3 诱人的实例:3D立方体旋转动画实例
2016/12/30 HTML / CSS
巴黎卡诗美国官方网站:始于1964年的头发头皮护理专家
2017/07/10 全球购物
碧欧泉Biotherm加拿大官方网站:法国高端护肤品牌
2019/10/18 全球购物
网络体系结构及协议的定义
2014/03/13 面试题
管理标语大全
2014/06/24 职场文书
党支部党的群众路线对照检查材料
2014/09/24 职场文书
四风问题对照检查材料整改措施
2014/09/27 职场文书
销售人才自我评价范文
2014/09/27 职场文书
民事答辩状格式范文
2015/05/21 职场文书
大学生军训感言
2015/08/01 职场文书