如何仅在电子邮件模板中定位Outlook样式?

时间:2015-11-30 17:17:37

标签: html css email fonts html-email

有一张这样的表:

对于outlook,它应该是宽度:60%

但对于其他cilent,因为我想处理移动设备,所以宽度:100%和最大宽度:650px

问题是,outlook在以下语法中获得宽度:100%

<table class="table" cellpadding="0" cellspacing="0" bgcolor="#ffffff" width="60%" style="max-width:650px; width:100%; border-collapse: collapse; margin: auto;">

如何区分Outlook与其他电子邮件cilent,到目前为止尝试过这样:

<![if !mso]> 
                    <table class="table" cellpadding="0" cellspacing="0" bgcolor="#ffffff" width="60%" style="border-collapse: collapse; margin: auto;">
                    <![else]>
                    <table class="table" cellpadding="0" cellspacing="0" bgcolor="#ffffff" style="max-width:650px; width:100%; border-collapse: collapse; margin: auto;">
                    <![endif]>

但它不起作用,仍然在前景中获得100%的宽度

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

简单的解决方案是使用MSO条件为outlook创建定义的表大小。内联CSS中还有“width:100%”,它覆盖了html属性中的width =“60%”。

请参阅下面的建议代码:

    <!--[if mso]>
     <style>
        .table {width:100% !important;}
      </style>
                        <table width="650" align="center" cellpadding="0" cellspacing="0" bgcolor="#ffffff" style="border-collapse: collapse; margin: auto;">
                        <tr>
                        <td>
    <![endif]-->
                        <table class="table" width="60%" cellpadding="0" cellspacing="0" bgcolor="#ffffff" style="max-width:650px; border-collapse: collapse; margin: auto;">....</table>
<!--[if MSO]>
       </td></tr></table>
<![endif]-->

这应该在所有Outlook上得到它,通过在该宽度创建一个包含表,表不会超过650px - 并且它将实际表更改为100%宽度以填充此650px表。