--
查了一下百度看到网上图片高度自适应的解决方案
基本是靠JS获取图片的宽度进行按比例计算得出图片高度。
不是很符合我的需求/
于是我脑瓜子一转 想到一种新的解决方案 不用JS计算也能完美解决。
我写了一个组件,直接导入可以使用。
1.新建一个组件bl-adaptation-img.vue
2.在main.js中导入
// 自适应图片图片高度 宽度100%
import blAdaptationImg from '@/components/baseUI/bl-adaptation-img/index.vue'
Vue.component('bl-adaptation-img', blAdaptationImg);
3.编写组件代码
/**
* 微信公众号小程序商城系统!
* Copyright © 2024 保留所有权利
* =========================================================
* 版本:V1
* 授权主体:chenfeili
* 授权域名:*****
* 授权码:*******
* ----------------------------------------------
* 您只能在商业授权范围内使用,不可二次转售、分发、分享、传播
* 未经授权任何企业和个人不得对代码以任何目的任何形式的再发布
* =========================================================
*/
<template>
<bctos-rich-text v-if="nodes" :nodes="nodes"></bctos-rich-text>
</template>
<script>
export default {
props: {
imgURl: {
type: String,
default: ''
}
},
data() {
return {
nodes: ''
}
},
watch: {
imgURl: {
handler(val) {
this.nodes = val ? `<img src="${val}" style="max-width:100%;height:auto;"/>` : ''
},
immediate: true,
deep: true
}
}
}
</script>
<style lang="scss" scoped>
</style>
目前使用的是uniapp的富文本组件bctos-rich-text 如果是原生的小程序可以使用 <rich-text></rich-text>
4.在页面文件中使用
<view v-if="caateInfo.flow_img" class="mt-30 pl-30 pr-30">
<bl-adaptation-img :imgURl="caateInfo.flow_img"></bl-adaptation-img>
</view>