每个图片原始宽高不一样,缩小每个图片到指定的宽度,高度等比例缩小,实现图片高度自适应。

下面看看实现代码:

下面是uniapp的条件编译,如果是小程序场景就使用 mode 属性实现高度自适应,如果是H5场景,就通过图片 的 load 获取图片的宽高,然后通过计算出缩小后的宽高动态渲染到页面

<block v-for="(item,index) in awardsList" :key="index"><!--  #ifdef  MP --><image mode="widthFix" :id="index" :src='item.img' class="canvas-item-img"></image><!--  #endif --><!--  #ifdef  H5 -->                     <image @load="dialImgLoad" :id="index" :src='item.img' :style="{width:item.img_width,height:item.img_height}">                    </image><!--  #endif --><block>

js代码:this.$forceUpdate() 是强制更新视图,因为页面加载的时候,图片设置宽高时是没有 img_width的。

80是需要设置的图片高度,图片的高度根据这个值等比缩小

methods: {dialImgLoad(e){let idx = e.currentTarget.id;let num = e.detail.width/80;this.awardsList[idx].img_width = 80+'rpx'this.awardsList[idx].img_height = (e.detail.height/num).toFixed(2)+'rpx'this.$forceUpdate()}
}

css代码:设置一个默认宽度,这里仅小程序会生效,H5会被 style 属性覆盖。

.canvas-item-img {width: 80rpx;
}

H5图片高度根据宽度自适应相关推荐

  1. vue图片宽高自适应_div或img图片高度随宽度自适应的方法

    该方法主要用来做网站自适应的,同时可以实现撑起内容高度,避免图片加载后导致的页面滚动. 一.可以使用js判断图片的宽度得到具体数值之后,再来利用js设置图片的高度(这里就不具体为大家细说了). 利用j ...

  2. iOS固定图片高度,宽度自适应缩放

    当后台返回一张图片,但没有返回图片宽高尺寸时,需要我们 APP 来处理自适应显示. 1.首页我们可以在图片下载完的回调里,计算宽高,然后自己计算比例进行缩放. 2.如果是图片是显示在 tablevie ...

  3. 前端页面高度和宽度自适应怎么做?

    在前端页面开发中,我们会希望页面可以根据不同用户的显示比例自动缩放页面,确保用户体验,这就是PC自适应,下面小千就来给大家介绍一下应该怎么做和集中常见的问题解决方案,记得收藏起来遇到问题来看一看. 自 ...

  4. 关于uniapp中长图片父盒子宽度自适应的需求实现

    先说结论: 绑定图片加载函数获得每张图片的宽高,然后通过屏幕大小和图片大小等比例缩放,计算得出每张图片的宽度:每张图所需宽度= 图片真实宽度/(图片真实高度/屏幕高度) 父盒子把每张图宽度相加,然后监 ...

  5. css高度根据宽度自适应显示,按比例显示宽高

    在项目中,我们经常遇到这样的需求,高度或者宽度需要按照比例显示,这时候就可以使用aspect-ratio属性解决问题,也可以使用padding-top: 解决 // padding-top .cont ...

  6. 水晶报表设置图片高度与宽度

    protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) {//实例化水晶报表信息 ReportDoc = new ...

  7. css 图片高度随宽度变化成正方形

    .list-img {width: 100%;position: relative;overflow: hidden;padding-bottom: 100%;//重要属性} .list-img im ...

  8. html 图片高度 页面高度自适应,怎样让网页图片高度自适应宽度

    [摘要] 你肯定知道width百分比可以实现图片宽度的自适应,那么你知道高度也可以根据宽度变话而自适应比变化么,看下本文就了解了! 当前响应式布局,内容尺寸自适应设备是众多网站开发者的选择,毕竟现在显 ...

  9. 微信小程序 - 设置图片高度自适应(宽度固定)

      我们要放入多张一样宽度不一样高度的图片的时候,我们不能同时都设置固定的高度,这样会使得一些图片被挤压或者有些会出现空白的现象,这些都不能满足我们的需求,所以我来说一下如何实现图片高度自适应. 我们 ...

最新文章

  1. Linux 下的hiredis的简单安装、测试*(转)
  2. C#中字节数组与字符串的来回转换
  3. Eclipse的设置、调优、使用(解决启动卡顿等问题)----转
  4. 剑指offer-包含min函数的栈
  5. [ios2] ios使用自带git respository管理项目 【转】
  6. 运维前线:一线运维专家的运维方法、技巧与实践3.1 数据中心搬迁准备
  7. python避坑_Django搭建项目实战与避坑细节详解
  8. 创建一个新的extender
  9. FastDFS启动报错
  10. flash as3+php上传源文件下载
  11. 高数18讲_1000题错题总结_第一讲
  12. SAI绘制波浪卷发教程
  13. java手机牧场物语,Minecraft Java版 19w09a 发布
  14. Viewpage+Fragment
  15. javaScript视频弹幕
  16. 股票什么时候买入什么时候卖出适合?
  17. 毕业一年一点不平凡经历,不平常的感受,有了不平常的自信
  18. STM32CubeMAX 安装 2020年3月26日
  19. 关于Numpy数组中属性shape的理解
  20. a DNS-1123 label must consist of lower case alphanumeric characters or ‘-‘, and must start and end w

热门文章

  1. Verilog HDL可综合描述(高质量Verilog书写)
  2. AWS学习日志之SAA
  3. Mybatis日志源码探究
  4. 为什么不建议用Executors?
  5. 利用Glide 对设备上的图片进行压缩并保存
  6. 计算机技术在生物工程方面的应用,信息技术下的生物工程应用论文
  7. Atom编辑器折腾记_(22)二次翻译快捷键【追加1.8新版本新增快捷键】
  8. linux rtl8723bu 蓝牙,RTL8723BU(wifi Bluetooth) 移植
  9. vue中获取/操作组件中的dom元素
  10. 计算机技术与软件业余资格测验证书,在大学能否领到网络工程师资格证?网络工程师考核..._出版资格_帮考网...