首页 > 解决方案 > Outlook 2016:HTML 签名中的简单表格宽度未得到遵守

问题描述

我在这里感到困惑,我承认这可能是由于我缺乏编写 HTML 签名的经验,但很明显,标准的 html 编码在制作 html 签名时走出了后门......

我正在使用 Outlook 2016(又名 office 365)版本 1808(内部版本 10730.20102)

像这样的简单 html 表格代码会产生奇怪的结果:

<table width="800" height="115">
<tbody>
    <tr>
        <td bgcolor="#000000" valign="top">
            This is some text
        </td>
    </tr>
</tbody></table>

表格的宽度远大于指定的 800 像素:

显示的宽度和高度示例

谁能帮我理解为什么会发生这种情况,以及我是否可以做些什么来使其正确渲染?

标签: html-tableoutlookwidthhtml-email

解决方案


您创建了一个 800 CSS 像素宽的表格,但 CSS 像素不是设备像素。CSS 像素应该是 1/96 英寸(从技术上讲,是 0.0213 度的弧度),并且用户代理 (Outlook) 可以根据需要自由使用任意数量的设备像素。

在这种情况下,看起来 Outlook 正在从显示设置中的 150% 缩放因子中获取线索。Windows 告诉 Outlook 你有一个 144dpi 的显示器,Outlook 会呈现一个 1200 像素宽的表格。(未指定表格的高度,因为height它不是<table>s 的可识别属性。)


推荐阅读