html邮件中的中心图像

时间:2017-12-06 11:06:46

标签: html css email outlook

如何将图像集中在一个可在Outlook中运行的html邮件中。

我试过了:

<th align="center">
        <center data-parsed="" class="logo">
            <img src="[%embedded-image(1335);logo.png]" alt="" width="207" height="55" border="0"/>
        </center>
</th>

也尝试过这样

<p style="text-align: center"><img src="[%embedded-image(1335);logo.png]" alt="" width="207" height="55" border="0"/></>

在浏览器中看起来不错。但是前景不是。

什么是可行的解决方案?

感谢。

2 个答案:

答案 0 :(得分:4)

<center>已被弃用,转而使用text-align: center

  

已弃用
此功能已从Web标准中删除。虽然有些浏览器可能仍然支持它,但它在   被抛弃的过程。如果,请避免使用它并更新现有代码   可能;请参阅本页底部的兼容性表   指导你的决定。请注意,此功能可能会停止工作   任何时候。

参考:<center> - HTML | MDN

考虑使用:

  1. text-align: center取而代之的是包含元素(thimg元素,或
  2. 嵌套display: block; margin: auto元素上的
  3. img

    ...如下面的嵌入式代码段所示。

    代码段示范:

    *:not(code) {
      font-family: arial;
    }
    
    code {
      background: #cccccc;
      padding: 3px;
    }
    <link rel="stylesheet" href="https://netdna.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.css">
    
    <table style="border: 1px solid gray; width: 600px; border-collapse: collapse;">
      <tr>
        <th align="center" style="border: 1px solid gray; background: whitesmoke; padding: 10px;">
          Using <code>align="center"</code> attribute <sup><small><i class="fa fa-thumbs-o-down"></i> (<a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/th#Attributes" target="_blank">deprecated</a>)</small></sup> on containing element
        </th>
      </tr>
      <tr>
        <th align="center" style="border: 1px solid gray; padding: 10px;">
          <img src="https://placehold.it/207x55" alt="" width="207" height="55" border="0"/>
        </th>
      </tr>
    </table>
    <br>
    <table style="border: 1px solid gray; width: 600px; border-collapse: collapse;">
      <tr>
        <th align="center" style="border: 1px solid gray; background: whitesmoke; padding: 10px;">
          Using <code>text-align:center</code> inline-style property on containing element
        </th>
      </tr>
      <tr>
        <th style="border: 1px solid gray; padding: 10px; text-align: center;">
          <img src="https://placehold.it/207x55" alt="" width="207" height="55" border="0" style="display: inline-block;"/>
        </th>
      </tr>
      <tr>
        <td style="padding: 10px;">
          <p>In most cases declaring <code>text-align: center</code> on the containing parent element is enough since <code>img</code> elements are inheritly <em>inline</em>. But to ensure that this behaviour is consistent across all email clients declare <code>display: inline-block</code> on the nested <code>img</code> as well.</p>
        </td>
      </tr>
    </table>
    <br>
    <table style="border: 1px solid gray; width: 600px; border-collapse: collapse;">
      <tr>
        <th align="center" style="border: 1px solid gray; background: whitesmoke; padding: 10px;">
          Using <code>display: block; margin: auto;</code> inline-style properties on nested <code>img</code>
        </th>
      </tr>
      <tr>
        <th style="border: 1px solid gray; padding: 10px;">
          <img src="https://placehold.it/207x55" alt="" width="207" height="55" border="0" style="margin: auto; display: block;"/>
        </th>
      </tr>
    </table>

    <强>要点:

    要水平居中对齐内嵌元素,您需要:

    1. 在包含(父)元素
    2. 上声明text-align: center

      要水平居中对齐元素,您需要:

      1. 在块元素
      2. 上声明margin: auto
      3. 确保将定义为块元素display: block
      4. 确保定义了指定的宽度(width: 207px
      5. 垂直&amp;水平对齐演示:

        参考清酒。

        1. Horizontal Alignment (Arbitrary Elements)
        2. Horizontal Alignment (Text Elements)
        3. Vertical Alignment (Arbitrary Elements)
        4. Vertical Alignment (Text Elements)

答案 1 :(得分:3)

<table align="center" width="75%">
    <tr>
        <th>
            <div style="margin: 0 auto; text-align: center;">
                <img align="center" src="[%embedded-image(1335);logo.png]" alt="" width="207" height="55" border="0"/>
            </div>
        </th>
    </tr>
</table>

Trick是使父对象固定宽度与对齐中心属性。

给予margin: 0 auto;是第二选择。

如果它是常规文本内容,那么只有align="center"才能完成这项工作。如下所示,

<table width="100%" border="0" cellspacing="0" cellpadding="0">
    <tr>
        <td align="center">
            Your Content
        </td>
    </tr>
</table>

希望这个有所帮助。