【发布时间】:2020-11-02 01:45:14
【问题描述】:
我正在尝试创建一个垂直堆叠的条形图以在电子邮件中使用;客户端主要是 Outlook 2016。
我不想使用图像,因为在我的场景中,总是会要求用户下载图像并且可能不会打扰。 Outlook 不支持带有位置的 jQuery、JavaScript 或 divs。
这是我必须生成两个相同的条的非常简单的代码(是的,我知道这很可怕):
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<body>
<table>
<tr>
<td style="height:10px">
<table style="border: none;border-collapse: collapse;">
<tr>
<td style="height:10px">
<table style="border: none;
border-collapse: collapse;width:40px;
mso-table-lspace:0pt;
mso-table-rspace:0pt;">
<tr>
<td style="height:50px;background-color:red;">
<p>1</p>
</td>
</tr>
</table>
<table style="border: none;
border-collapse: collapse;width:40px;
mso-table-lspace:0pt; mso-table-rspace:0pt;">
<tr>
<td style="height:10px;background-color:green;">
<p>1</p>
</td>
</tr>
</table>
</td>
<td style="height:10px">
<p>
<table style="border: none;
border-collapse: collapse;width:40px;
mso-table-lspace:0pt; mso-table-rspace:0pt;">
<tr>
<td style="height:50px;background-color:red;">
<p>1</p>
</td>
</tr>
</table>
</p>
<p>
<table style="border: none;
border-collapse: collapse; width:40px;
mso-table-lspace:0pt; mso-table-rspace:0pt;">
<tr>
<td style="height:10px;background-color:green;">
<p>1</p>
</td>
</tr>
</table>
</p>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
这很好用,我已经扩展到看起来像这个渲染图表的图表:
但是,当用户在 Outlook 中转发电子邮件时,它会为我添加 <p> 标记并使图表不可读,如下所示:
所以我正在寻找一种方法来欺骗 Outlook,这样它就不会插入 <p> 强制图表在条形中具有空格的标签,或者首先使用另一种方法来创建图表只有 HTML 和 CSS。没有 jQuery,没有 JavaScript,也没有带有浮点数的 divs。
【问题讨论】: