【问题标题】:Outlook 2013 rendering issue: nested table truncating adjacent textOutlook 2013 呈现问题:嵌套表截断相邻文本
【发布时间】:2013-03-22 02:27:51
【问题描述】:

在开发html邮件时事通讯时,我经常使用类似如下的结构:

<table width="244" border="0" cellpadding="0" cellspacing="0" bgcolor="#ffffcc">
<tr>
  <td>
        <table border="0" align="left">
        <tbody>
        <tr>
              <td bgcolor="#FFCCCC">text in the table cell.<br>and another line of text.<br>and a third line.</td>
        </tr>
        </tbody>
        </table>
Hello. This is sample text. This is another sentence. Hello. This is sample text. This is another sentence. Hello. This is sample text. This is another sentence.</td>
</tr>

在浏览器中查看时,结果如下所示:

但是当由 Outlook 2013 呈现时,主(黄色)表中最左边的文本被截断:

对此有解释或解决方法吗?

(我通常会在内部(粉红色)表格中放置一个图像而不是文本。这允许主要(黄色)文本似乎围绕图像流动的设计。无论是图像还是文本,结果都是相同。主(黄色)表中的文本被截断,如下所示。)

【问题讨论】:

    标签: html html-email html-rendering outlook-2013


    【解决方案1】:

    尝试在标题表上设置左对齐,在我的代码中这将适用于所有客户端。 已针对所有客户进行了试金石测试:

    <table cellspacing="0" cellpadding="0" width="560" align="left" border="0">
    <tbody>
        <tr>
            <td align="left">   
                <table cellspacing="0" cellpadding="0" align="left">
                    <tbody>
                        <tr>
                            <!-- spacer for the top of the image -->
                            <td align="left" colspan="2">
                                <img src="spacer.gif" height="5" alt="spacer" style="display:block; margin:0px; border:0px;" align="left" />
                            </td>
                        </tr>
                        <tr>
                            <!-- the image or text -->
                            <td align="left">
                                <img src="imagesrc" alt="imagealt" style="display:block; margin:0px; border:0px;" />
                            </td>
    
                            <!-- spacer for the right of the image -->
                            <td align="left">
                                <img src="spacer.gif" width="11" alt="spacer" style="display:block; margin:0px; border:0px;" />
                            </td>
                        </tr>
                        <tr>
    
                            <!-- spacer for the bottom of the image -->
                            <td colspan="2" align="left">
                                <img src="spacer.gif" height="11" alt="spacer" style="display:block; margin:0px; border:0px;" />
                            </td>
                        </tr>
                    </tbody>
                </table>
    
                <!-- here your tekst -->
                <div style="margin:0px; padding:0px; mso-line-height-rule: exactly; color:#000000; font-family:Verdana, Arial; font-size:12px; line-height:20px; display:block;">Hello. This is sample text. This is another sentence. Hello. This is sample text.</div>
            </td>
        </tr>
    </tbody>
    </table>
    

    【讨论】:

      【解决方案2】:

      有时接受的解决方案(将align= "left" 添加到标题/父表)不起作用(在我的情况下使用多个嵌套表):

      mso-table-rspace 添加到左对齐表格确实有效:

      &lt;table border="0" cellpadding="0" cellspacing="0" align="left" style="mso-table-lspace:0pt; mso-table-rspace:7pt;"&gt;

      【讨论】:

        【解决方案3】:

        我不确定 Outlook 2013 有什么问题,但您可以尝试使用 div 结构实现相同的布局

        HTML:

        <div class="outer">
          <div class="first">text in the table cell.<br>and another line of text.<br>and a third line.</div>
          <div class="second">Hello. This is sample text. This is another sentence. Hello. This is sample text. This is another sentence. Hello. This is sample text. This is another sentence.</div>
        </div>
        

        CSS:

        .outer {
          width : 50%;
          height : 50%;
          background-color: green;
        }
        
        .first {
          background-color: red;
          float : left;
        }
        
        .second {
          background-color: yellow;
        }
        

        Demo Link

        【讨论】:

        • 遗憾的是,这在 Outlook 2013 中根本不起作用。这些 div 的宽度相同,红色 div 位于黄色 div 之上。除非您将内容放入其中,否则绿色 div 根本不会出现。
        • 遗憾的是,div 结构不是解决任何电子邮件客户端相关问题的解决方案。即使这在前景中修复了它,它也会在其他地方破坏它。很难过,我知道。 :)
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-11-09
        • 1970-01-01
        • 2019-01-04
        • 2019-03-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多