Vue中v-html图片过大导致溢出的问题及解决

vue v-html图片过大导致溢出

问题描述

移动端开发中,经常遇到渲染富文本的需求!但是也会有很多问题,比如遇到 v-html 渲染富文本时图片会溢出,内容里边的图片太大,导致图片把页面撑的比较宽

找了很多方法没有用!然后自己试了好几种方法!最后通过简单的 一行 css 代码让图片正常显示了

图片太大,把页面变成可以左右滑动,让之前一些样式失效,比如下面的 标头(商品详情) 原来是居中的位置

Vue中v-html图片过大导致溢出的问题及解决_第1张图片

CSS

通过加上上面的代码,页面的图片就可以正常显示了

可以看到图片 的宽度和高度 进行了等比例的缩小

Vue中v-html图片过大导致溢出的问题及解决_第2张图片

关于富文本渲染内容图片溢出问题

描述问题场景

前提:最近做的一个项目,包含了PC端和手机端,共用同一组数据库的数据。

导致了,有些富文本内容在PC端录入的图片,在PC端显示正常,而在移动端的显示的图片则会溢出屏幕。

  • PC端:

Vue中v-html图片过大导致溢出的问题及解决_第3张图片

  • 移动端:

Vue中v-html图片过大导致溢出的问题及解决_第4张图片

解决方法

使用深度选择器

/deep/ .content img {
	width: 100% !important;
}

/* 或者 */

.content >>> img {
	width: 100% !important;
}

使用正则匹配

// 将你要渲染的数据进行字符串正则匹配
this.goods_info.content = res.data.data.goods_info.content.replace(/ 
 

然后再渲染出来,就可以正常了:

Vue中v-html图片过大导致溢出的问题及解决_第5张图片

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

你可能感兴趣的:(Vue中v-html图片过大导致溢出的问题及解决)