微信小程序 rich-text img 宽度超出最简便解决办法

2023-10-27

因为项目上需要使用富文本,然后看了下小程序现在有个rich-text 组件可以使用富文本。待开发完成测试时候发现rich-text 对于图片无法限制最大宽度。在百度了一众方法后发现不太适合,最后以最简单的方式解决了此问题。

bug原因

在rich-text中,如果图片本身够大就会超出屏幕。出现类似下面这种情况:
在这里插入图片描述

查找资料

然后我就百度了一下看看,网上的解决办法大同小异:

网上各种解决方法核心思想就是在数据层把数据模板上的img数据加上style样式,使每个img标签达到想自己要的效果。

我的思考

这种方法基本解决的是string类型nodes数据的办法。因为如果是array的数据类型就需要一层层便利下去,一旦层级高数据量大的话运算量就有点大(当然不是说不可以啦)。

重新查看了官方文档,看到了这两句话:

全局支持 class 和style属性,不支持 id 属性。

tip: 如果在自定义组件中使用 rich-text 组件,那么仅自定义组件的 wxss 样式对 rich-text 中的 class 生效。

本来第一句是不太懂的,看到第二句的时候大概明白nodes中的标签数据受我们小程序样式控制。那么就好办了呀(搓手手)。

  • 我的实践

首先给标签增加属性:

img {
	max-width:100%;
}

结果……居然无效。如果不支持element选择器的话那么尝试下其他的选择器,仔细观察img的标签内容思考其可以作为选择器的点:<img src='...' alt='' id='123' />
看了标签后打算使用属性选择器,使用的属性为img的描述属性alt,代码为:

[alt]{
	max-width:100%;
}

效果:
rich-text  img
成了!

总结

最后有效代码就一段就解决了网上各种眼花缭乱的方案:

[alt]{
	max-width:100%;
}

虽然这里用到的css功底不深,但是我还是想说一句:在这个各种ui库满天飞的时代,前端不止于JavaScript

原创不易,感谢看到这里,如果我的分享对你有帮助,点一个三连支持一下吧。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

微信小程序 rich-text img 宽度超出最简便解决办法 的相关文章

  • Shiny 中的模态对话框:可以调整宽度但不能调整高度

    在我的 Shiny 应用程序中 我有几个来自闪亮BS 包的模式窗口 我可以像这样调整这些模式窗口的宽度 tags head tags style HTML modal lg width 1200px abs 1 background col
  • CSS - 让div继承高度

    我正在尝试制作一个带有圆角的盒子 其中 div 的高度和宽度取决于内容 因此它会自动调整 您可以在此处查看示例 http pastehtml com view 1duizyf html http pastehtml com view 1du
  • 如何减少 VS Code 中选项卡手柄的高度?

    在 的帮助下this https github com be5invis vscode custom css扩展 您可以更改 VS Code 的样式 我想将 filetabs 的高度减少到 20px 我正在使用这样的东西 editor gr
  • 在 Rails App 中实现 WrapBootstrap 主题

    我刚刚购买了一个 wrapbootstrap 主题 并尝试将其插入我的 Rails 应用程序中 一些 css 如填充 导航栏 字形图标 和大多数 javascript 无法正常运行 我将所有样式表和 javascript 分别复制到 ass
  • 如何为平板电脑和 iPhone 制作样式表

    我认为样式表上的链接目标将使我的 css 文件仅在平板电脑或 iPhone 上加载时加载 但我试图隐藏的元素仍然存在 我目前正在使用 media handheld 有太多的移动设备型号需要为其编写样式表 你最好根据以下内容调整你的CSS屏幕
  • 裁剪响应式全宽图像

    我必须剪辑跨越整个宽度的图像 以下事情对我不起作用 剪辑 这需要绝对位置 因此块元素不会堆叠在下面 背景位置 缩放时无法正确剪辑 放大时剪辑的部分会增加 反之亦然 包装器 包装器高度取决于浏览器宽度 因此其值应该是动态的 我使用了 seti
  • 强制应用媒体查询

    我有这个 html 和 css 代码 div class wrapper div class a div div class b div div media all and max width 400px max height 300px
  • 如何在 CSS 中选择纯 HTML 文本?

    你们有人知道如何在 CSS 中选择纯 HTML 文本吗 我有以下结构 div p class caption caption1 p div class tabs div class moving bg div p class text ta
  • HTML CSS 循环协助

    希望你能帮忙 我想知道您是否可以在循环中创建以下类型 你知道这是否可能吗 body background 000 DEMO SPECIFIC STYLES typewriter h1 color fff font family Bebas
  • JQuery 设置动态最大宽度

    我不太擅长 jQuery 因此完整的代码解决方案将是理想的选择 该函数将 获取浏览器屏幕的 70 宽度 将该宽度转换为其相应的 px 值 设置最大宽度 mainContainer使用从转换 计算中获得的值 这是我要设置的容器的 CSS 样式
  • 如何使用 CSS 使文本区域居中?

    请原谅我问这么简单的问题 我对 HTML 和 CSS 都很陌生 有没有一种简单的方法可以使文本区域居中 我想我只是尝试使用 textarea margin left auto margin right auto 但它 显然 不起作用 边距不
  • 使用 flex 将项目与底部对齐

    我正在尝试使用 flex 将父级内部的项目与父级底部对齐 但由于某种原因它不起作用 我究竟做错了什么 login border 1px solid red height 50px display flex login border radi
  • CSS3 变换:IE 中的缩放

    我想使用CSS3属性transform scale div transform scale 0 5 0 5 有没有办法在 Internet Explorer 8 及更低版本中模仿这个 可能与filter或者 JavaScript 解决方案
  • Bootstrap

    我正在尝试使用 Bootstrap 构建一个网站 到目前为止 一切都按计划进行 我想要一个固定的导航栏 并且我正在使用内置函数 div class navbar navbar fixed top 这很棒 正是我所需要的 但我希望导航和标题从
  • 重新加载页面时删除哈希值?

    我使用哈希来切换我的图像滑块 当我重新加载页面并且哈希值设置为 e h 3 没有图片 当图库在几秒钟后自动滑动时 它显示下一个 所以几秒钟内什么也没有 有没有办法在加载页面时检查哈希并将其删除 我只想关心那些用散列为页面添加书签的人 问候
  • 如何在 CSS 中将 RadioButton 图标样式设置为无(在 Flex 3 中)?

    您可以通过在 CSS 中设置以下值来在 Flex 中设置 RadioButton 的外观 upSkin Embed overSkin Embed ownSkin Embed disabledSkin Embed selectedUpSkin
  • Bootstrap 响应式表格在 iOS 设备上无法垂直滚动

    这就是我所拥有的 div class table responsive table class table style background transparent table div 我正在使用以下 bootstrap css 文件 ht
  • 使用 float:left 与 display:inline-block 的 jQuery UI 拖放排序比较

    我这里有两个例子 这两个例子之间的唯一区别是 一种使用display inline block 另一种使用float left li doc item 显示 内联块 与 li doc item float left 我的问题是 displa
  • 我应该创建一个块还是一个元素 BEM CSS?

    Bem官网说 创建一个块如果一段代码可以被重用并且它不依赖于正在实现的其他页面组件 创建一个元素如果一段代码在没有父实体 块 的情况下无法单独使用 我有一个 关于部分 块 它的元素依赖于父级并且不能在网站中重复使用 如何根据 bem 这段代
  • 选择子元素但不选择孙元素

    我有以下简化的代码 div p text p div div p text p div div p text p div div p text p div 每当我设置一些值时 content pCSS 文件中的元素 更改也适用于 col1

随机推荐

  • 普通协议(HTTP)与安全协议(HTTPS)

    客户端与服务器端 CydiaSubstrate框架 Frida Native层HOOK Frida hook Java层 需要相关资料的朋友 可以 加入此处即可打包获取 一 HTTP协议简介 HTTP协议 超文本传输协议HyperText
  • 启动主机服务器上虚拟机吗,启动主机服务器上虚拟机

    启动主机服务器上虚拟机 内容精选 换一换 主机迁移服务是一种P2V V2V迁移服务 可以帮您把X86物理服务器或者私有云 公有云平台上的虚拟机迁移到华为云弹性云服务器上 从而帮助您轻松地把服务器上的应用和数据迁移到华为云 主机迁移服务的工作
  • java设计模式桥接模式最详细讲解,从设计卷到开发看源码

    为什么要使用设计模式 说到底还是为了程序拓展和移植性 无法就是那几种设计思想 单一职责原则 开闭原则 里氏替换原则 依赖倒置原则 接口隔离原则 组合复用原则 迪米特法则这些思想和原则就是为了帮助我们更好规范的写出简洁 高效易拓展的程序 原理
  • 【sklearn第二十一讲】矩阵分解问题

    机器学习训练营 机器学习爱好者的自由交流空间 入群联系qq 2279055353 主成分分析 精确主成分 主成分分析 Principal component analysis PCA 通常用来分解一个多变量数据集成为逐次正交的成分 这些成分
  • STM32学习笔记(一):输出PWM——HAL库

    文章目录 前言 一 PWM是什么 二 实例 PWM输出 2 代码 3 现象 3 总结 前言 本篇文章为个人参考总结所用 如果错误还望指出 涉及的知识 1 STM32CubeMx的部分使用 2 PWM原理及常用概念 3 用单片机生成一定频率的
  • 使用Git rebase合并多条提交记录commit。以及使用 git commit amend本地提交直接合并到远程已有commit的用法

    需求场景一 对某个小的功能点进行多次反复的修改提交 且已经提交到远程 导致commit记录过多 太过于杂乱无章 想要精简合并一些提交记录 场景还原 比如下图4个git commit记录 log1 log4 需要将他们合并成一个提交记录 解决
  • Spring MVC 数据绑定入门

    一 应用intellij IDEA创建SpringMVC项目 简单介绍一下 eclipse和idea有些概念上的差别 eclipse中的workspace相当于idea中的project eclipse中的project相当于idea中的m
  • RecyclerView放入正方形布局

    在使用RevyclerView时 有个需求 列表列数不固定 每个item的高度要和宽度相等具体看图 三列 四列 五列
  • 全球及中国蔬菜泥配料行业竞争策略及投资潜力研究报告2021-2027年版

    全球及中国蔬菜泥配料行业竞争策略及投资潜力研究报告2021 2027年版 目录 2020年 全球蔬菜泥配料市场规模达到了 百万美元 预计2027年将达到 百万美元 年复合增长率 CAGR 为 2021 2027 中国市场规模增长快速 预计将
  • 什么是websockret连接

    什么是WebSocket WebSocket 是一种网络传输协议 位于 OSI 模型的应用层 可在单个 TCP 连接上进行全双工通信 能更好的节省服务器资源和带宽并达到实时通迅 客户端和服务器只需要完成一次握手 两者之间就可以创建持久性的连
  • C++设计模式之一:观察者模式

    观察者模式定义了对象间的依赖关系 以至于一个对象的改变 依赖它的对象都会收到通知 求职者订阅了某职位发布网站 当有何时的职位出现时 他们会收到通知 include
  • STM32之模拟IIC总线通信

    目录 前言 头文件 辅助函数 相关信号函数 初始化函数 起始信号 停止信号 接收应答信号 发送应答信号 应答 非应答 发送一个字节数据 接收一个字节数据 应用 最后 前言 在这篇文章发表之前 鄙人发表过一篇51的模拟IIC总线通信 因某短见
  • 测试工具编写

    1 数据文件 csv 定义 2 预期文件 csv 定义 3 入参文件 csv 定义 每一个文件对应一个解析类 然后将这三个类封装成一个jar包 专门用来测试
  • Ubuntu16.04LTS下搭建强化学习环境gym、tensorflow

    1 安装Anaconda 去清华镜像下载anaconda3 4 3 0 linux x86 64 sh 然后在终端中输入以下命令进行安装 cd downloads bash anaconda3 4 3 0 linux x86 64 sh2
  • 【面向小白】深究模型大小和推理速度的关系!

    面向小白 深究模型大小和推理速度的关系 来源 https zhuanlan zhihu com p 411522457 本文将对衡量深度学习模型大小的一些常用指标 如计算量 参数量 访存量 内存占用等进行探讨 分析这些指标对模型部署推理的影
  • [Android实例] http请求No peer certificate的解决方法

    不少同学在做HTTP请求新浪授权或新浪数据的时候会出现 javax net ssl SSLPeerUnverifiedException No peer certificate的异常 现给出解决方法 已通过测试 写了一个自定义类继承SSLS
  • 安装tiny cudann

    如果编译报错 找不到nvcc 需要安装 conda install c conda forge cudatoolkit dev 我的ubuntu18 04 pip安装的pytroch cu116
  • 【Vue】关闭浏览器窗口之前弹出提示

    需求 叉掉浏览器窗口 弹出提示 确认后才会关闭窗口 mounted window addEventListener beforeunload e gt this beforeunloadHandler e methods beforeunl
  • linux cpan 参数配置,Linux下使用CPAN进行Perl模块的安装

    本文转自http blog sina com cn hellofrankey 当我们想使用某些Perl模块的时候 很可能会遇到当前系统不存在这个模块的情况 这时我们可以通过使用CPAN来对相应的模块进行获取 下面就介绍一下CPAN的使用方法
  • 微信小程序 rich-text img 宽度超出最简便解决办法

    因为项目上需要使用富文本 然后看了下小程序现在有个rich text 组件可以使用富文本 待开发完成测试时候发现rich text 对于图片无法限制最大宽度 在百度了一众方法后发现不太适合 最后以最简单的方式解决了此问题 bug原因 在ri