是否有等效的HTML最大宽度在HTML电子邮件中工作?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (168)

我正在尝试创建一个HTML电子邮件,它将在所有广泛使用的电子邮件客户端中正确显示。我将整个电子邮件包裹在一个表格中,我希望它的宽度达到可用宽度的98%,但不超过800像素。像这样: <table style="width:98%; max-width:800px;">

但我没有这样做,因为Outlook 2007不支持CSS宽度属性。

故我这样做: <table width="98%">

有什么办法可以在不依赖CSS的情况下设置最大宽度?

提问于
用户回答回答于

是的,有一种方法可以max-width使用表格进行模拟,从而提供响应式和Outlook友好的布局。而且,这个解决方案不需要有条件的评论。

假设你想要的中心相当于divmax-width350px。创建一个表格,将宽度设置为100%。该表格有三个单元格。将中心的宽度设置TD350(使用HTML width属性,而不是CSS),然后就可以了。

如果你希望你的内容左对齐而不是居中,那就省略掉第一个空单元格。

例:

<table border="0" cellspacing="0" width="100%">
    <tr>
        <td></td>
        <td width="350">The width of this cell should be a maximum of 
                  350 pixels, but shrink to widths less than 350 pixels.
        </td>
        <td></td>
     </tr>
</table> 
用户回答回答于

对于Outlook 2007,可以使用条件html注释执行一个技巧。

下面的代码将确保Outlook表的宽度为800 px,它不是最大宽度,但它比让表跨越整个窗口更好。

<!--[if gte mso 9]>
<style>
#tableForOutlook {
  width:800px;
}
</style>
<![endif]-->

<table style="width:98%;max-width:800px">
<!--[if gte mso 9]>
  <table id="tableForOutlook"><tr><td>
<![endif]-->
    <tr><td>
    [Your Content Goes Here]
    </td></tr>
<!--[if gte mso 9]>
  </td></tr></table>
<![endif]-->
<table>

扫码关注云+社区

领取腾讯云代金券