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教程:background-clip和background-origin
Oct 17 HTML / CSS
纯CSS3编写的的精美动画进度条(无flash/无图像/无脚本/附源码)
Jan 07 HTML / CSS
无需JS和jQuery代码实现CSS3鼠标浮动放大图片
Nov 21 HTML / CSS
使用CSS3来代替JS实现交互
Aug 10 HTML / CSS
css和css3弹性盒模型实现元素宽度(高度)自适应
May 15 HTML / CSS
Html5游戏开发之乒乓Ping Pong游戏示例(三)
Jan 21 HTML / CSS
HTML5之SVG 2D入门5—颜色的表示及定义方式
Jan 30 HTML / CSS
html5教你做炫酷的碎片式图片切换 (canvas)
Jul 28 HTML / CSS
HTML5 body设置自适应全屏
May 07 HTML / CSS
CSS 使用 resize 实现图片拖拽切换预览功能(强大功能)
Aug 23 HTML / CSS
使用canvas对video视频某一刻截图功能
Sep 25 HTML / CSS
纯CSS打字动画的实现示例
Aug 05 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 二维array转换json的实例讲解
2018/08/21 PHP
比较搞笑的js陷阱题
2010/02/07 Javascript
juqery 学习之五 文档处理 包裹、替换、删除、复制
2011/02/11 Javascript
Jquery阻止事件冒泡 event.stopPropagation
2011/12/11 Javascript
JS实现图片预加载无需等待
2012/12/21 Javascript
js实现文本框中输入文字页面中div层同步获取文本框内容的方法
2015/03/03 Javascript
jQuery实现可用于博客的动态滑动菜单
2015/03/09 Javascript
js实现从右向左缓缓浮出网页浮动层广告的方法
2015/05/09 Javascript
JavaScript中用toString()方法返回时间为字符串
2015/06/12 Javascript
基于javascript实现漂亮的页面过渡动画效果附源码下载
2015/10/26 Javascript
js判断鼠标位置是否在某个div中的方法
2016/02/26 Javascript
Angular2实现自定义双向绑定属性
2017/03/22 Javascript
浅谈React Native 中组件的生命周期
2017/09/08 Javascript
jQuery获取复选框选中的当前行的某个字段的值
2017/09/15 jQuery
vue代码分割的实现(codesplit)
2018/11/13 Javascript
详解vue-property-decorator使用手册
2019/07/29 Javascript
js判断浏览器的环境(pc端,移动端,还是微信浏览器)
2020/12/24 Javascript
详解Vue template 如何支持多个根结点
2020/02/10 Javascript
[04:27]DOTA2官方论坛水友赛集锦
2013/09/16 DOTA
[36:37]2014 DOTA2华西杯精英邀请赛5 24 VG VS iG
2014/05/25 DOTA
[00:44]2016完美“圣”典 风云人物:Mikasa宣传片
2016/12/07 DOTA
利用python的socket发送http(s)请求方法示例
2018/05/07 Python
Python下调用Linux的Shell命令的方法
2018/06/12 Python
python实现图片九宫格分割
2021/03/07 Python
哈工大自然语言处理工具箱之ltp在windows10下的安装使用教程
2020/05/07 Python
澳大利亚运动鞋零售商:The Athlete’s Foot
2018/11/04 全球购物
捷克玩具商店:Bambule
2019/02/23 全球购物
德国网上超市:myTime.de
2019/08/26 全球购物
俄罗斯购买内衣网站:Trusiki
2020/08/22 全球购物
六五普法规划实施方案
2014/03/21 职场文书
试用期员工工作自我评价
2014/09/10 职场文书
党员“一帮一”活动总结
2015/05/07 职场文书
2015年小学英语教师工作总结
2015/05/12 职场文书
2015年为民办实事工作总结
2015/05/26 职场文书
学校少先队工作总结
2015/08/12 职场文书
python基础之错误和异常处理
2021/10/24 Python