您好,登錄后才能下訂單哦!
怎么在微信小程序中實現富文本圖片寬度自適應?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
思路
把圖片的寬度改為手機屏幕對應的寬度
微信小程序需要知道的知識
需要知道微信小程序里有自己的寬度標準,單位為rpx;
針對所有不同尺寸的瀏覽器,微信小程序里規定屏幕寬為750rpx;
解決
WXML
<view class='html_detail'> <rich-text nodes='{{artical}}'></rich-text> </view>
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(/\<img/gi, '<img '); return newContent; } module.exports = { formatRichText }
若artical里包含多種標簽
util.js
/** * 處理富文本里的圖片寬度自適應 * 1.去掉img標簽里的style、width、height屬性 * 2.img標簽添加style屬性:max-width:100%;height:auto * 3.修改所有style里的width屬性為max-width:100% * 4.去掉<br/>標簽 * @param html * @returns {void|string|*} */ function formatRichText(html){ let newContent= html.replace(/<img[^>]*>/gi,function(match,capture){ match = match.replace(/]+"/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(/]+"/gi,function(match,capture){ match = match.replace(/width:[^;]+;/gi, 'max-width:100%;').replace(/width:[^;]+;/gi, 'max-width:100%;'); return match; }); newContent = newContent.replace(/<br[^>]*\/>/gi, ''); newContent = newContent.replace(/\<img/gi, '<img '); return newContent; } module.exports = { formatRichText }
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。