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

这篇具有很好参考价值的文章主要介绍了Vue uniapp实现图片宽度100%、高度自适应的效果。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在Uniapp中,我们可以使用image组件来加载图片,而想要实现图片宽度100%、高度自适应的效果,可以通过以下步骤实现:
首先,在image组件上设置mode属性为widthFix,表示按照图片的宽度等比缩放,并保证图片宽度为100%。
接着,在image组件上设置style属性,为图片设置高度自适应。可以使用CSS的height: auto属性来实现。文章来源地址https://www.toymoban.com/news/detail-557921.html

<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>

到了这里,关于Vue uniapp实现图片宽度100%、高度自适应的效果的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Qt QTableWidget 表格自适应 高度和宽度

    1. 在MainWindow中设置 1.1. 对被嵌入的子窗口进行设置,去除子窗口的一些影响到嵌入的部件。 pTable:指向子窗口堆内存的指针 1.2. 设置子窗口可以跟随主窗口自适应变化宽度。 水平方向:子窗口的自适应缩放。也可以直接在设计师中完成。 2. 在QTableWidget ui表格的 cpp文件中设

    2023年04月21日
    浏览(67)
  • css自适应高度或宽度,超出内容显示滚动条

    有时候项目中使用了flex布局,高度或是宽度是自动填满剩余空间,不是具体的数值的时候,想要设置区域滚动条,可采用以下方法设置:

    2024年02月13日
    浏览(29)
  • vue如何实现实时监听页面宽度高度变化

    运用的主要技术:watch监听 话不多说直接上代码,自行研究

    2024年02月11日
    浏览(34)
  • Vue+Element ui动态表格 实现表头自适应宽度

    根据业务需求,工作中会出现表头信息不固定,根据后台返回数据,我们要实现动态表格的实现 1. tableData为表格数据,tableHeader为表头数据。 2. 实现表头自适应宽度(二种方法)     ① 第一种通过动态width来定义,通过表头数据的遍历,将label的表头信息传入方法中     

    2024年02月15日
    浏览(39)
  • uniapp page宽度设置为750rpx,子元素宽度100%,大小不一致

    uniapp page宽度设置为750rpx,子元素宽度100%,大小不一致。 原因是我在page加了margin: 0 auto;去掉就正常了(但是如果在超大屏幕还是会出现,我猜是使用rpx导致的,rpx渲染成页面时会转成精确到一个小数点几位数的rem,这会导致计算有微小的不精确) 至于为什么加这个,是因为

    2024年01月25日
    浏览(30)
  • java读取图片的大小、高度、宽度

    java读取图片一般分为两种,一种是直接读取文件地址,一种是从前端传送过来的

    2024年02月11日
    浏览(35)
  • UITableView加载网络图片 cell适应图片高度

    上下左右贴边约束,连线属性 这样就可以实现效果啦。

    2024年02月12日
    浏览(27)
  • 将图片的大小(分辨率)调整为指定的宽度和高度

    这段代码将图像文件\\\"original.jpg\\\"的大小调整为宽度300像素,高度200像素,并将调整后的图像保存为\\\"resized.jpg\\\"。您可以根据需要修改输入和输出的文件路径和名称。 1. 方法一 2. 方法二

    2024年02月08日
    浏览(41)
  • uniapp 获取 view 的宽度、高度以及上下左右左边界位置

    boundingClientRect 返回的 res 结果(以像素[px]为单位) 属性 类型 说明 id String 节点的 ID dataset Object 节点的 dataset left Number 节点的左边界坐标 right Number 节点的右边界坐标 top Number 节点的上边界坐标 bottom Number 节点的下边界坐标 width Number 节点的宽度 height Number 节点的高度 更多可参

    2024年02月12日
    浏览(55)
  • 如何动态设置vue组件的宽度和高度?

    在组件最外层加上div 给div加上属性:style=“{ height: toggleHeight ? toggleHeight : ‘2000px’, width: toggleWidth ? toggleWidth : ‘1188px’ }” 使用js修改toggleHeight 和 toggleWidth 的值 实现动态修改宽高 例 在父组件中动态修改子组件的宽度 auditInformation子组件中 index父组件中

    2024年02月12日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包