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

实现图片宽度100%、高度自适应的效果,通过以下步骤实现:
1.在image组件上设置mode属性为widthFix,表示按照图片的宽度等比缩放,并保证图片宽度为100%。
2.在image组件上设置style属性,为图片设置高度自适应;可以使用CSS的height: auto属性来实现。

<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: 'https://picsum.photos/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>

实践

	<!-- 我要入驻 -->
		<view class="settleIn" @click="goto('/pages/business/settleIn/settleIn')">
			<image class="img" mode="widthFix" :src="settleInImageSrc" :style="{ height: imgHeight + 'px' }"
				@load="onImgLoad" />
		</view>
data(){
    return:{
        // 申请入驻图片
				settleInImageSrc: "",
				imgHeight: 0,
    }
}
methods:{
        // 图片自适应
			onImgLoad(e) {
				// 当图片加载完成后,获取图片的原始宽度和高度,并根据宽度计算出高度
				const {
					width,
					height
				} = e.mp.detail;
				this.imgHeight = (height / width) * 100; // 高度 = 原始高度 / 原始宽度 * 100
			},
    
}
	.settleIn {
		width: 100%;
		height: 100%;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.img {
		width: 100%;
	}

效果

 

liyinchi1988
关注 关注
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
关于小程序img图片变形的问题
weixin_44204144的博客
09-03 1274
话不多说,直接先上设计图:设计图是真的很好看鸭!但是实际上长传的图片很长,导致很模糊的状态,肯定不符合要求的。 还好小程序有个mode属性: scaleToFill 缩放模式(默认属性),不保持纵横比缩放图片,使图片的宽高完全拉伸至填满 image 元素 aspectFit 缩放模式,保持纵横比缩放图片,使图片的长边能完全显示出来。也就是说,可以完整地将图片显示出来。 aspectFill 缩放模式,保持纵横比缩放图片,只保证图片的短边能完全显示出来。也就是说,图片通常只在水平或垂直方向是完整的,另一个方
vue 图片自适应排列插件_图片自适应裁剪与缩放-vue组件(仿微信小程序)
weixin_30639241的博客
12-23 645
功能概述制作一个组件,如微信的image标签一样拥有13种mode,以及懒加载功能。本次可以说是一次功能的移植。功能属性名均参照微信api文档制作。使用方式也与小程序的image基本一致。因为开发小程序时觉得这个标签给的属性不错,所以在vue中我也做了个一样的组件。没有开发过小程序的同志可以查看微信api文档或者更继续参考下文。13种mode13种mode包括4种缩放,9种裁剪。各种mode展示如...
图片填满外层div 自适应不拉伸变形
热门推荐
ymumi的博客
06-19 3万+
#max-width:100%   相对于img本身的尺寸而言,最大的宽度为自身宽度 #width:100% 相对于父级宽度的 1.等比例缩小垂直居中:按宽度等比列缩放   或者可以选择按高度等比缩放 .photo-box{ display: table-cell; text-align: center; vertical-align: middle; ov...
不同分辨率下vue页面的高度自适应
最新发布
weixin_72439307的博客
08-19 365
html高度自适应
Vue uniapp实现图片宽度100%、高度自适应效果
weixin_43337481的博客
07-12 2160
默认给height:auto;就看不到图片了,要想实现自适应高度效果,首先给图片设置 mode="widthFix"样式中设置高度自适应 height:auto;以上是一行两列的图片布局效果宽度固定,高度自适应
vue 图片宽高自适应
shykevin的博客
01-10 1万+
一、概述 现有一个图片预览功能,目前设置的宽高都是100%。但是这样有一个问题,如果图片高度太高,图片展示不全。 二、解决 vue图片在设置好的div里面自动适应宽高,图片显示全部,不够宽高的留空白 本文使用的图片分辨率为:4000x2026 我的电脑分辨率为:1920x1080 默认宽高如果设置100%,电脑屏幕会显示不全的。 test.vue <template> &lt...
vue 图片自适应屏幕大小
weixin_56806542的博客
08-06 286
父组件打开图片可以引入下面组件。
vue之设置背景图片自适应屏幕
weixin_43984150的博客
05-23 1万+
需求说明 图片覆盖整个浏览器窗口 图片处于整个页面最底层 根据浏览器窗口的变化改变图片大小 不能使图片变形 图片始终在浏览器窗口的中心位置 适应web端和移动端 实现方法 参考许多文章后,发现最实用的布局是edge浏览器的新标签页的背景图片布局。 通过整合多方方案,得出最佳方案。 不论是使用图片标签引入图片还是块级标签添加背景图片,都可以通过此方法实现自适应。 //模板标签 <template> //外层盒子需要动态绑定宽高属性 <div class="register" :sty
uniapp swiper 图片高度根据图片宽度自适应+通过选项卡跳到锚点位置+滑动到某个要素位置添加事件
04-15
uniapp swiper 图片高度根据图片宽度自适应; 通过选项卡跳到锚点位置,类似h5单页面通过a链接导航效果; 滑动到某个要素位置时触发事件,如tab选项卡值更改等
使用Vue-cli 中为单独页面设置背景图片铺满全屏
10-15
` 确保背景图片宽度高度都会被拉伸至元素的宽度高度。`height: 100%;` 和 `width: 100%;` 则确保了`#logo`元素本身也扩展到整个视口大小。 然而,这里有一个关键点需要注意。如果仅仅设置高度100%,那么...
vue图片宽高自适应_vue轮播图(可随父元素高宽自适应)
weixin_39538789的博客
12-21 1206
//参考https://cn.vuejs.org/v2/guide/transitions.htmlexport default{props:{//initInterval:每张图片轮播的间隔时间,默认3秒,单位秒initInterval:{type:Number,default:3},//imgList:需要轮播的图片集合imgList:{type:Arr...
vue项目登录页背景图百分百铺满屏幕宽高自适应
weixin_44610025的博客
01-08 3443
vue项目背景图百分百铺满屏幕宽高自适应 .login{ background: url(../../../static/img/login/beijing@2x.png); background-size: 100% 100%; width: 100%; height: 100%; position: fixed; }
web图片100%宽度自适应,高度不塌陷
weixin_30411997的博客
07-11 217
一般在web端图片100%自适应,在页面加载的时候存在高度塌陷的问题 解决这个问题其实很简单,用padding-top设置百分比值来实现自适应,公式如下 padding-top = (Image Height / Image Width) * 100% 如:图片宽400px,高200px;套用上面公式计算出padding-top:值是50%; HTML代码 <...
Vue Element UI 之背景图自适应屏幕(多种方法分析,含可取不可取)
倚树探星的博客
02-19 6646
打算做背景图的图片高度过高,需要根据设备宽高显示图片,多余部分剪掉 一、通过background-image .register{ width: 100%; height: 1060px; background-image: url(../assets/img/bg1.png); background-position: 0 0; background-repeat: no-rep...
vue图片宽高自适应_Vue组件宽高自适应问题
weixin_39905725的博客
12-21 2630
在两个月前,我被公司安排做一个系统的前端页面开发,当时我还是个对前端知识一无所知的小白,html标签只知道虽然自己还是个菜鸟,但是两个月做下来,自己也有一些心得,想要拿出来跟大家交流交流,顺便抛砖引玉,万一大神看到了,说,你这么做太愚蠢了,应该怎么怎么滴,那岂不是很爽,期待幻想中的大神~今天想要说的是Vue组件宽高自适应问题。针对不同的屏幕大小,肯定不能把组件的width,height都定死了,用...
vue图片宽高自适应_vuex实现宽高自适应
weixin_35782323的博客
02-11 624
//app.vue里设置,宽度通过栅格控制,高度通过vuex获取高度export default {name: 'App',data() {return {window: {width: document.body.clientWidth,height: document.body.clientHeight}}},methods: {initWindow() {this.$store.dispat...
vue 自适应(同等缩小放大)
a2357346100的博客
06-19 2611
如果想要达到同等比例放大缩小,这儿有答案;但如果想自适应布局,那还是需要自己去设计。 第一步:项目按照依赖 npm ipostcss-px-to-viewport
小程序之image图片实现宽度100%,高度自适应
weixin_30770783的博客
08-24 369
哇 今天搞了半天 图片一直变形啊啊啊啊 宽度100% 高度100% 给auto 完全不管用啊啊啊啊 然后最后最终!!!! 首先我们要给我们的图片一个100%的宽度!让它自适应!! .gotimeimg{ width:100%; } 接着!!!最重要的神奇的时候到了!请睁大你bilingbiling的眼睛!! <ima...
微信小程序图片宽度100%,高度自适应
Misnice的博客
01-05 552
1.图片样式设置宽度100% image { width: 100%; } 2.image标签添加属性mode="widthFix" <image src="../../images/bnner.png" mode="widthFix">
vue 背景图片自适应大小
05-14
Vue 中设置背景图片自适应大小,可以通过使用 `background-size` 属性来实现。设置 `background-size` 为 `cover`,则背景图片会被缩放以填充整个容器,并保持其宽高比例不变。如果设置 `background-size` 为 `contain`,则背景图片会被缩放以适应容器大小,并保持其宽高比例不变。 示例代码如下: ```html <template> <div class="container" :style="{ backgroundImage: `url(${imageUrl})`, backgroundSize: 'cover' }"> <!-- 这里是容器中的内容 --> </div> </template> <script> export default { data() { return { imageUrl: 'https://example.com/image.jpg' // 背景图片的 URL } } } </script> <style> .container { width: 100%; /* 容器宽度 */ height: 500px; /* 容器高度 */ } </style> ```
写文章

热门文章

  • 解决Jmeter响应报文中文乱码的问题-3种解决办法 32743
  • appium环境配置(史上最全详细) 28463
  • Git常用命令 27096
  • Python requests.post()方法中data和json参数的使用 19668
  • docker容器设置时区的几种方式 18014

分类专栏

  • 服务端 55篇
  • 开发 36篇
  • 嵌入式 1篇
  • Android 3篇
  • 功能测试 23篇
  • docker 17篇
  • 前端 11篇
  • 持续集成 27篇
  • 容器 18篇
  • 笔记 2篇
  • Git 2篇
  • gitlab 3篇
  • SDK 1篇
  • NDK 1篇
  • 投屏
  • kubernetes
  • 图像识别
  • 自动化测试 25篇
  • 性能测试 1篇
  • 接口测试 21篇
  • 测试工具 50篇

最新评论

  • 解决Jmeter响应报文中文乱码的问题-3种解决办法

    xingming_s: 方法三有效,全局修改

  • Android 蓝牙开发 入门级(史上最全)

    Ivy@HPC: 文章对蓝牙开发的基础讲解清晰,涵盖了分类、权限和位置访问的运行时权限请求流程,适合初学者入门Android蓝牙开发,内容全面,易于理解,推荐给正在学习蓝牙开发的朋友们。

  • Android 蓝牙开发 入门级(史上最全)

    liyinchi1988: 谢谢

  • 微信公众号 H5授权登录实现(最详细)

    liyinchi1988: 对,除非是二维码扫码登录,才不需要在微信环境下

  • 微信公众号 H5授权登录实现(最详细)

    insist_life: 第二个问题:前端不管有没有用到jssdk,都需要在微信环境下(生态下)才能向用户发起授权,是吗表情包

大家在看

  • linux shell find命令 扫描目录下的文件,并打印出文件名和文件大小
  • 医护人员排班|基于springBoot的医护人员排班系统设计与实现(附项目源码+论文+数据库) 260
  • 融云IM干货丨如何确保小程序在请求权限时遵守用户隐私保护法规?
  • 缓存穿透/击穿/雪崩(附生产BUG)
  • 融云IM干货丨除了加密技术,还有哪些安全措施可以保护小程序用户数据?

最新文章

  • Linux CentOS 部署Docker
  • 执行yum命令,报错Errors during downloading metadata for repository ‘appstream‘: - Curl error (6): Couldn‘
  • Linux CentOS java JDK17
2024年14篇
2023年23篇
2022年39篇
2021年65篇

目录

目录

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

liyinchi1988

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值

深圳坪山网站建设公司优化网站排名顺序怎么给网站做优化上海网站优化推广服务优化费为什么比网站费用高谷歌网站如何做优化哈尔滨专业网站优化报价佛山顺德网站优化有实力的企业网站优化哪家好供应网站优化公司好吗b2b网站怎么做优化鹤壁网站建设优化公司地址邹平网站优化排名公司推荐机械行业网站优化哪家优惠罗甸网站seo优化汕头网站优化推广公司广州学网站制作网络优化南宁网站优化网络推广渠道怎么样进行网站优化哪家好天水网站关键词排名优化武汉模板网站优化北京市网站seo优化福田分类网站优化的主要方法新网网站内部优化安庆网站优化哪家服务好沙头角门户网站优化开发区网站优化推广西安网站排名优化培训盐田网站优化服务商成安网站优化哪家好许昌网站优化服务商香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

深圳坪山网站建设公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化