pc端的富文本编辑器,生成的富文本如何在web端和移动端h5同数据适配,比如富文本会给p标签添加内联样式 font-size: 22px; 移动端22px会太大,而是18px,这种有没有解决方案
pc端的富文本编辑器,生成的富文本如何在web端和移动端h5同数据适配,比如富文本会给p标签添加内联样式 font-size: 22px; 移动端22px会太大,而是18px,这种有没有解决方案
目前我遇到的情况几乎无法实现多端适配。
最麻烦的问题在于,你不知道哪些代码是主动添加的,比如您说的添加一个22px的内联样式,也许编辑就是想要22px的字体,而不是复制过来的,大或者不大,并不是由技术决定,很多时候是由编辑决定。
还有从135、秀米等同步过来的稿子,有很多是自带样式的,如果你强制修改,会乱。
所以,我这边的解决方案是:
提供预览,比你去尝试修改样式要靠谱很多,实际上,你可以看看segmentfault在提交回答的时候也是提供了预览功能。
目前能想到的方法
1.获取到富文本字符串后用正则过滤一遍,把'22px'
转成'18px'
2.富文本字符串传给后端前设置好class,取的时候利用媒体查询 + !important
强行覆盖行内样式
3 回答5.1k 阅读✓ 已解决
5 回答3.2k 阅读✓ 已解决
5 回答2k 阅读
2 回答1.9k 阅读✓ 已解决
1 回答3k 阅读✓ 已解决
3 回答2.4k 阅读
4 回答2.2k 阅读
一般来说可以让富文本不添加行内样式,一些段落标题之类的可以改为添加
className
,再在各端自己去控制。直接在添加在行内的样式。桌面端和PAD就还好说,手机端如果遇到像小程序这样的情况,富文本组件内的样式是没法控制的,只能通过
replace
去替换,就会很麻烦。不如就单纯添加
className
可以控制最好,不能穿透控制就用replace
把className
替换成行内样式就行。