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 透明色 RGBA使用介绍
Aug 06 HTML / CSS
一款纯css3实现的漂亮的404页面的实例教程
Nov 27 HTML / CSS
详解CSS3 filter:drop-shadow滤镜与box-shadow区别与应用
Aug 24 HTML / CSS
纯CSS3实现的井字棋游戏
Nov 25 HTML / CSS
HTML5 input元素类型:email及url介绍
Aug 13 HTML / CSS
HTML5 video 事件应用示例
Sep 11 HTML / CSS
HTML5 Canvas中绘制椭圆的4种方法
Apr 24 HTML / CSS
canvas实现扭蛋机动画效果的示例代码
Oct 17 HTML / CSS
Canvas图片分割效果的实现
Jul 29 HTML / CSS
html5给汉字加拼音加进度条的实现代码
Apr 07 HTML / CSS
聊聊CSS粘性定位sticky案例解析
Jun 01 HTML / CSS
如何解决flex文本溢出问题小结
Jul 15 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
德生9700DX电路分析
2021/03/02 无线电
一个简易需要注册的留言版程序
2006/10/09 PHP
Zend Framework教程之Application用法实例详解
2016/03/14 PHP
Smarty模板常见的简单应用分析
2016/11/15 PHP
基于PHP实现栈数据结构和括号匹配算法示例
2017/08/10 PHP
图片自动更新(说明)
2006/10/02 Javascript
浅析JavaScript中的常用算法与函数
2013/11/21 Javascript
jQuery文本框得到与失去焦点动态改变样式效果
2016/09/08 Javascript
JS实现京东首页之页面顶部、Logo和搜索框功能
2017/01/12 Javascript
JS批量替换内容中关键词为超链接
2017/02/20 Javascript
ES6中Math对象的部分扩展
2017/02/20 Javascript
HTML5+Canvas调用手机拍照功能实现图片上传(下)
2017/04/21 Javascript
javascript input输入框模糊提示功能的实现
2017/09/25 Javascript
微信小程序实现简单input正则表达式验证功能示例
2017/11/30 Javascript
详解Angular5路由传值方式及其相关问题
2018/04/28 Javascript
浅谈一种让小程序支持JSX语法的新思路
2019/06/16 Javascript
[49:42]DOTA2上海特级锦标赛主赛事日 - 3 胜者组第二轮#2Secret VS EG第一局
2016/03/04 DOTA
在Python的Flask框架中使用日期和时间的教程
2015/04/21 Python
python中numpy包使用教程之数组和相关操作详解
2017/07/30 Python
Python基于回溯法子集树模板实现图的遍历功能示例
2017/09/05 Python
Python数据结构与算法之二叉树结构定义与遍历方法详解
2017/12/12 Python
对Python中实现两个数的值交换的集中方法详解
2019/01/11 Python
python中dict使用方法详解
2019/07/17 Python
python django 原生sql 获取数据的例子
2019/08/14 Python
Python with标签使用方法解析
2020/01/17 Python
使用OpenCV获取图像某点的颜色值,并设置某点的颜色
2020/06/02 Python
Pytorch损失函数nn.NLLLoss2d()用法说明
2020/07/07 Python
HTML5中5个简单实用的API
2014/04/28 HTML / CSS
美体小铺波兰官方网站:The Body Shop波兰
2019/09/03 全球购物
*p++ 自增p 还是p所指向的变量
2016/07/16 面试题
新闻报道策划方案
2014/06/11 职场文书
中国梦演讲稿范文
2014/08/28 职场文书
2014会计年终工作总结
2014/12/20 职场文书
幼儿园辞职信范文
2015/02/27 职场文书
如何使用Maxwell实时同步mysql数据
2021/04/08 MySQL
html+css实现文字折叠特效实例
2021/06/02 HTML / CSS