uni-app rict-text组件 在nvue页面中运行在手机上 img与span元素混排时 img设置vertical-align:middle; 无法与同行文字垂直居中对齐
uni-app rict-text组件 在nvue页面中运行在手机上 img与span元素混排时 img设置vertical-align:middle; 无法与同行文字垂直居中对齐
| 类别 | 信息 |
|---|---|
| 产品分类 | uniapp/App |
| PC开发环境 | Windows |
| PC版本号 | Windows 10 专业版 20H2 |
| HBuilderX类型 | 正式 |
| HBuilderX版本号 | 3.2.3 |
| 手机系统 | Android |
| 手机版本号 | Android 11 |
| 手机厂商 | 小米 |
| 手机机型 | Redmi K30 Ultra |
| 页面类型 | nvue |
| 打包方式 | 云端 |
| 项目创建方式 | HBuilderX |
操作步骤:
- 下载附件,运行到手机上
预期结果:
- 图片与同行文字垂直居中对齐,文字背景显示
实际结果:
- 图片偏上,文字居中,文字背景未显示
bug描述:
rict-text组件 img与span元素混排 img设置vertical-align:middle; 无法与同行文字垂直居中对齐
浏览器中显示正常,但是在nvue页面中背景颜色与垂直居中都无效
这里是我用普通网页展示的效果:https://codepen.io/yatoku/pen/wveeqow
更多关于uni-app rict-text组件 在nvue页面中运行在手机上 img与span元素混排时 img设置vertical-align:middle; 无法与同行文字垂直居中对齐的实战教程也可以访问 https://www.itying.com/category-93-b0.html
请使用flex布局试试
更多关于uni-app rict-text组件 在nvue页面中运行在手机上 img与span元素混排时 img设置vertical-align:middle; 无法与同行文字垂直居中对齐的实战教程也可以访问 https://www.itying.com/category-93-b0.html
好的 我这边试试
可是设置成flex的话 文本就不能混排了。
回复 yato: 你好,请问,这个问题你找到解决方法了么?
在 nvue 页面中,rich-text 组件渲染富文本时,对 CSS 的支持确实与 WebView 存在差异。你遇到的问题主要是 vertical-align: middle; 在 nvue 的 rich-text 中未能按预期工作,同时 span 的背景色也未显示。
原因分析:
vertical-align支持度问题:nvue 的rich-text组件基于原生渲染,对 CSS 属性的支持有限。vertical-align在原生环境中可能不被完全支持,尤其是在图文混排的场景下,这会导致图片与文字无法垂直居中对齐。- 背景色渲染问题:
span元素的背景色在 nvue 的rich-text中可能被忽略,因为原生渲染引擎对行内元素的背景支持较弱。
解决方案:
-
使用
flex布局替代:如果内容结构允许,可以考虑将图文混排的部分用view包裹,并使用flex布局实现垂直居中。例如:<view style="flex-direction: row; align-items: center;"> <image src="..." style="width: 20px; height: 20px;"></image> <text style="margin-left: 5px;">文字内容</text> </view>这种方式虽然需要调整结构,但能更稳定地实现垂直对齐。
-
调整图片样式:尝试为
img添加display: block;或display: inline-block;,并配合margin手动调整位置。例如:img { display: inline-block; vertical-align: middle; margin-top: -2px; /* 根据实际情况调整 */ }

