解决vue-quill-editor生成的富文本,展示多张图时,上下存在间隙的问题

场景及问题描述:最近在做商品发布功能,类似淘宝的详情页,采用的是vue-quill-editor组件。
在测试发布带有多张图的商品的过程中,展示详情页的时候,多张图片上下存在间隙的问题。

具体问题如下:

  • vue-quill-editor富文本组件展示的图片内容如下,看似没有问题


    image.png
  • 展示到网页上显示的时候,发现详情页的多张图片上下存在间隙


    image.png

问题定位

  • 查看生成的代码,代码如下:
 <p><img src="http://feiyangimage.oss-cn-shanghai.aliyuncs.com/activity/1613985506789437.jpg"></p>
 <p><img src="http://feiyangimage.oss-cn-shanghai.aliyuncs.com/activity/1613985520940370.jpg"></p>

原因:

用户上传1张图片A之后,习惯性的点击回车使光标换行,然后接着又上传了1张图片B。vue-quill-editor在监听到换行后,这两张图片就会分别用<p></p>包裹。查看源代码发现p标签有1个上下为16px的间距。因此p标签和p标签会存在间隙。

image.png

解决

  • 将多张图片放到一个p标签。
    发布商品时,对富文本内容预先做如下处理
var dealContents = this.formData.content;
dealContents = dealContents.replace(/(<\/p><p>)/g, ""); // 去掉</p><p>标签

即,富文本的代码处理成如下即可解决问题。

<p>
  <img src="http://feiyangimage.oss-cn-shanghai.aliyuncs.com/activity/1613985506789437.jpg">
  <img src="http://feiyangimage.oss-cn-shanghai.aliyuncs.com/activity/1613985520940370.jpg">
</p>

最终效果如下


image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容