项目背景:
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获取图片宽高,再获取 盒子 宽高 , 计算 图片 和 盒子的宽高比
如果图片宽 > 高,那么比较图片