在使用Uni-app开发商城的时候,因为商品的详情是图文的,必然用到了富文本编辑器吗,富文本编辑器里面保存下来的html几乎类似这样。

这是一张商品的详情图片.jpg

在做H5页面的时候会存在图片宽度溢出屏幕的情况。

处理办法如下。

1.在App.vue组件中(h5),直接在App.vue修改即可:

.........

/*每个页面公共css */

@import "./common/app.css";

.......

/*覆盖文本编辑器里面的图片的大小*/

uni-rich-text img{ max-width: 100% !important;}

2、关于小程序里面图片溢出问题,这里借鉴一个大神的文章

思路:

把图片的宽度改为手机屏幕对应的宽度

微信小程序需要知道的知识

需要知道微信小程序里有自己的宽度标准,单位为rpx;

针对所有不同尺寸的浏览器,微信小程序里规定屏幕宽为750rpx;

解决办法如下

WXML

WXS

data={artical:''}

async onLoad(){

const json = await api.getDetail();

if(json !== null){

this.artical = util.formatRichText(json.detail.description);

}

}

若artical里只有图片,并且图片没有设置style和宽度/高度

util.js

function formatRichText(html){

let newContent= html.replace(/\

3519标签

* @param html

* @returns {void|string|*}

*/

function formatRichText(html){

let newContent= html.replace(/

3519]*>/gi,function(match,capture){

match = match.replace(/style="[^"]+"/gi, '').replace(/style='[^']+'/gi, '');

match = match.replace(/width="[^"]+"/gi, '').replace(/width='[^']+'/gi, '');

match = match.replace(/height="[^"]+"/gi, '').replace(/height='[^']+'/gi, '');

return match;

});

newContent = newContent.replace(/style="[^"]+"/gi,function(match,capture){

match = match.replace(/width:[^;]+;/gi, 'max-width:100%;').replace(/width:[^;]+;/gi, 'max-width:100%;');

return match;

});

newContent = newContent.replace(/

]*\/>/gi, '');

newContent = newContent.replace(/\

3519脑筋若无正确的思想的培养,任它怎样发达,这发达总是畸形的发达,那么一切的行为都没有稳定的正确的立足点。 —— 聂耳

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐