我看过很多HTML电子邮件模板示例,它们全部使用<table>
元素进行布局。使用<table>
有什么特殊原因吗?我试过没有它,它对我有用。我应该担心它可能会因使用其他浏览器的其他人而崩溃吗?
如今仍然使用表格的主要原因是为了支持Outlook 2007/2010/2013。这些版本使用Microsoft Word引擎呈现HTML,相当混乱。它对CSS的支持有限(例如,没有浮点数或位置),并且某些CSS属性仅在某些特定的HTML元素上受支持。例如,在上支持填充,但在上不支持填充。即使理论上可以在更多语义元素(如标签)上使用填充,或在元素上使用边距,Word的呈现引擎仍然存在大量错误,并且此类HTML和CSS代码可能具有不可预测的行为。因此,开发人员发现使用它代替更容易。
但是这就是问题:如果您不需要支持Outlook 2007/2010/2013,则可以完全放弃表并使用更好的代码。即使您需要支持它,也可以在没有表的情况下完成简单的一列布局。您的模板在Outlook 2011中起作用的原因是此版本(仅适用于Mac)使用WebKit呈现引擎(就像在Safari或Apple Mail中一样)。
如今仍然使用表格的主要原因是为了支持Outlook 2007/2010/2013。这些版本使用Microsoft Word引擎呈现HTML,相当混乱。它对CSS的支持有限(例如,没有浮点数或位置),并且某些CSS属性仅在某些特定的HTML元素上受支持。例如,在上支持填充,但在上不支持填充。即使理论上可以在更多语义元素(如标签)上使用填充,或在元素上使用边距,Word的呈现引擎仍然存在大量错误,并且此类HTML和CSS代码可能具有不可预测的行为。因此,开发人员发现使用它代替更容易。