获取 img元素图片 的原始尺寸

本文介绍了在项目中使用element-ui图片上传组件遇到的问题,即在IE11下,由于max-width和max-height无效导致图片超出弹窗。解决方案是通过JavaScript获取图片原始尺寸,计算并设置图片宽高以保持比例,避免拉伸。文章提供了关键代码片段,展示了如何实现这一功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目背景:

element-ui 图片上传组件,上传后的图片,点击放大镜icon需要放大显示,居中在弹窗里
插入图片示例

<el-dialog
    :title="bigTit"
    :visible.sync="dialogVisible"
    :before-close="handleClose"
>
<div class="bigPicBox">
    <img :src="bigSrc" alt="" @load="imgLoad(bigSrc)">
</div>
</el-dialog>

放大
上传的图片,分别有横向和纵向,那么,在弹窗里,img 宽度 100% 和 高度 100% 都不合适,会导致图片的不正常拉伸。
所以图片的宽高都需要是 auto,然后 max-width:100% 和 max-height:100%;
在高版本浏览器,这个是没问题的,但是因为居中显示用的是 flex, 在 IE11, max-width 和 max-height 都无效,最后导致图片 超出弹窗,大概这样:

图片超出弹窗

解决方法:

用js获取图片宽高,再获取 盒子 宽高 , 计算 图片 和 盒子的宽高比
如果图片宽 > 高,那么比较图片

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值