reactjs - 反应电子邮件客户端 - 打印邮件详细信息会影响页面布局
问题描述
我正在开发电子邮件客户端,我正在从 gmail 获取电子邮件。当我使用在页面上打印电子邮件内容时
<div dangerouslySetInnerHTML={{ __html: body.content }} />
它工作正常,但正如您所知,电子邮件带有内联 css,这会影响我的页面 UI、字体大小更改、div 缩小/扩展。
为了克服这个问题,我使用了 iframe,并将电子邮件内容打印到 iframe,这解决了我的问题但是我注意到如果我将电子邮件打印到 iframe,电子邮件本身正在失去一些样式。gmail、outlook 和我的电子邮件客户端中的字体看起来不同。
电子邮件在 gmail 和 Outlook 中看起来几乎相似,但在我的电子邮件客户端页面中看起来却大不相同。
解决方案
例如,Gmail 用来分隔每封电子邮件的特定 CSS 的做法是为所有类和样式添加前缀。此前缀对于每封电子邮件都是唯一的。
所以“hide”类可能会变成class="m_-8236917340709346301hide"
,嵌入的 CSS 中对应的样式也会发生变化,即.m_-8236917340709346301hide{display:none!important}
.
现在电子邮件 CSS 与页面的其余部分是分开的。您可能还需要 CSS 重置。
推荐阅读
- javascript - 异步/等待同步函数改变反应状态
- html - 当前输入值未传递给 AngularJS 中的事件处理程序
- r - 将多列合并为一列并根据它来自的列重命名值
- javascript - GET API_Link net::ERR_FAILED -------- Uncaught (in promise) TypeError: Failed to fetch
- python - 尝试使用 Seaborn 绘制绘图,但错误提示“str”对象没有属性“get”
- swift - onReceive String.publisher 导致无限循环
- java - 如何使用 ReactorCloudFoundryClient 启动 CloudFoundry 应用程序?
- c# - 替换字符串中的“\”
- python - 如何“梳理”列表以查找某些字符串?
- python - 使用 rabbitmq 和 pika 运行长任务