首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在HTML电子邮件中有没有等同于CSS max-width的工具?

在HTML电子邮件中有没有等同于CSS max-width的工具?
EN

Stack Overflow用户
提问于 2010-03-11 23:13:36
回答 4查看 133.3K关注 0票数 133

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

但我不会这样做,因为according to this Outlook2007不支持CSS width属性。

相反,我正在做这件事:<table width="98%">

有没有办法在不依赖CSS的情况下也设置max-width?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-07-01 06:32:14

是的,有一种方法可以使用表格模拟max-width,从而为您提供响应性和Outlook友好的布局。更重要的是,这个解决方案不需要条件注释。

假设您想要具有max-width350px的居中div等效项。创建一个表格,将宽度设置为100%。表格一行有三个单元格。将中间TD的宽度设置为350 (使用HTML width属性,而不是CSS),就可以了。

如果您希望内容左对齐而不是居中,只需省略第一个空单元格。

示例:

代码语言:javascript
复制
<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> 

在jsfiddle中,我给了表一个边框,这样你就可以看到发生了什么,但很明显,在现实生活中你不会想要这样的边框:

http://jsfiddle.net/YcwM7/

票数 269
EN

Stack Overflow用户

发布于 2011-09-02 03:27:39

对于Outlook2007,您可以使用条件html注释来实现一个技巧。

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

代码语言:javascript
复制
<!--[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>
票数 36
EN

Stack Overflow用户

发布于 2010-03-11 23:24:43

简短的回答是:不。

长长的答案是:

修复的格式更适合HTML电子邮件。根据我的经验,当涉及到HTML电子邮件时,最好假装是1999年。要明确,在表格定义中尽可能使用HTML属性(width="650"),而不是CSS (style="width:650px")。使用固定宽度,没有百分比。650像素宽的表格宽度是一个安全的选择。使用内联CSS设置文本属性。

这不是什么能在"HTML电子邮件“中起作用的问题,而是过多的电子邮件客户端和他们有限的(有时是故意在Gmail,Hotmail等情况下)呈现HTML的能力。

票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2426072

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档