Vue uniapp实现图片宽度100%、高度自适应的效果

时间:2025-05-14 22:08:36
<template> <view class="container"> <image class="img" mode="widthFix" :src="imageUrl" :style="{ height: imgHeight + 'px' }" @load="onImgLoad" /> </view> </template> <script> export default { data() { return { imageUrl: '/400/300', imgHeight: 0, }; }, methods: { onImgLoad(e) { // 当图片加载完成后,获取图片的原始宽度和高度,并根据宽度计算出高度 const { width, height } = e.mp.detail; this.imgHeight = (height / width) * 100; // 高度 = 原始高度 / 原始宽度 * 100 }, }, }; </script> <style> .container { width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; } .img { width: 100%; } </style>