pc端的富文本编辑器,生成的富文本如何多端适配?

pc端的富文本编辑器,生成的富文本如何在web端和移动端h5同数据适配,比如富文本会给p标签添加内联样式 font-size: 22px; 移动端22px会太大,而是18px,这种有没有解决方案

阅读 3.5k
3 个回答

一般来说可以让富文本不添加行内样式,一些段落标题之类的可以改为添加 className,再在各端自己去控制。
直接在添加在行内的样式。桌面端和PAD就还好说,手机端如果遇到像小程序这样的情况,富文本组件内的样式是没法控制的,只能通过 replace 去替换,就会很麻烦。
不如就单纯添加 className 可以控制最好,不能穿透控制就用 replaceclassName 替换成行内样式就行。

新手上路,请多包涵

目前我遇到的情况几乎无法实现多端适配。

最麻烦的问题在于,你不知道哪些代码是主动添加的,比如您说的添加一个22px的内联样式,也许编辑就是想要22px的字体,而不是复制过来的,大或者不大,并不是由技术决定,很多时候是由编辑决定。

还有从135、秀米等同步过来的稿子,有很多是自带样式的,如果你强制修改,会乱。

所以,我这边的解决方案是:

  1. 提供一个默认样式;
  2. 在编辑器提供一个格式化文本的功能,去掉多余的样式,格式化文本;
  3. 提供预览,如果可以,最好在编辑器当中能看到和实际发布类似的样式。

提供预览,比你去尝试修改样式要靠谱很多,实际上,你可以看看segmentfault在提交回答的时候也是提供了预览功能。

目前能想到的方法
1.获取到富文本字符串后用正则过滤一遍,把'22px'转成'18px'
2.富文本字符串传给后端前设置好class,取的时候利用媒体查询 + !important强行覆盖行内样式

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题