web-dev-qa-db-ja.com

Outlook.comでメールを中央揃えにする

非常にシンプルなHTMLメールを作成しました。 http://staging.xhtml-lab.com/mailtest/

Hotmail.com/Outlook.comを除くすべてのメールクライアントで正常に動作しています

hotmailのメールは左揃えで、中央揃えのままにする必要があります。

Emailology.orgの提案に従って次のコードを追加しましたが、効果がありません。

<style type=“text/css”>
/**This is to overwrite Hotmail’s Embedded CSS************/
table {border-collapse:separate;}
a, a:link, a:visited {text-decoration: none; color: #00788a} 
a:hover {text-decoration: underline;}
h2,h2 a,h2 a:visited,h3,h3 a,h3 a:visited,h4,h5,h6,.t_cht {color:#000 !important}
p {margin-bottom: 0}
.ExternalClass p, .ExternalClass span, .ExternalClass font, .ExternalClass td {line-height: 100%}
/**This is to center your email in Hotmail************/
.ExternalClass {width: 100%;}
</style> 

メールセンターを整合させるために他に何ができるかについての提案はありますか?

15
Alok Jain

これにより、中央に電子メールが送信されます。

<table style="width: 100%; background: red;">
  <tr>
    <td>
      <center>
        <table style="width: 640px; background: blue; margin: 0 auto; text-align: left;">
          <tr>
            <td>
              Your content here
            </td>
          </tr>
        </table>
      </center>
    </td>
  </tr>
</table>

center- tagは、OutlookおよびOutlook.comに必要なものです。他のクライアントはmargin属性を使用します。一部のクライアントでは、テキストがcenterタグの中央に配置されるため、text-align属性が必要です。

画面サイズに応じて幅を可変にする場合は、次のコードを使用します。

<table style="width: 100%; background: red;">
  <tr>
    <td>
      <center>
        <!--[if mso]>
        <table style="width: 640px;"><tr><td>
        <![endif]-->
        <div style="max-width: 800px; margin: 0 auto;">
          <table style="background: blue; text-align: left;">
            <tr>
              <td>
                Your content here
              </td>
            </tr>
          </table>
        </div>
      </center>
      <!--[if mso]>
      </td></tr></table>
      <![endif]--> 
    </td>
  </tr>
</table>

Outlookはmax-widthをサポートしていないため、Outlookのサイズは640pxに固定されています。他のすべてのクライアントでは、電子メールの幅は表示ウィンドウの幅と同じですが、最大800pxです。

これらのソリューションが機能しないクライアントを見つけたらお知らせください。できる限り多くのクライアントで機能するソリューションを見つけられるようにしています。

34
Magnar Myrtveit

これは私が作成したもので、すべてのメールの出発点として使用しています。すべての主要な電子メールクライアントで100%機能します。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title></title></head>
<body style="margin: 0px; padding: 0px background-color: #FFFFFF;" bgcolor="#FFFFFF"><!-- << bg color for forwarding (leave white) // main bg color >> --><table bgcolor="#252525" width="100%" border="0" align="center" cellpadding="0" cellspacing="0"><tr><td>
<!-- CENTER FLOAT WIDTH -->
<table width="600" border="0" valign="top" align="center" cellpadding="0" cellspacing="0"><tr><td><!-- Master Width of the center panel -->
preheader...
<!-- CENTER PANEL BG COLOR (to hide separation of tables on email forward from Outlook (known issue) -->
<table width="100%" border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF"><tr><td><!-- Master Color of the center panel -->

content...

<!-- /CENTER BG COLOR -->
</td></tr></table>

<!-- /CENTER FLOAT WIDTH -->
</td></tr></table>
<!-- /CENTER FLOAT -->
</td></tr></table></body></html>

それは誰かが電子メールを転送するときのために組み込みの白い背景を持っています(彼らは白でタイプすることができますが、htmlで設計された部分の背景は着色されたままです)。また、Outlookは転送時にテーブル間にギャップを設けるため、メインパネルにはbgcolorが設定されています。

お役に立てば幸いです。

3
John

メインテーブルタグにalign="center"を追加して、メールテンプレートを中央に配置することもできます。

    <body>
      <table align="center">
        <tr>
          <td style="width:600px;">
            <!-- content -->
          </td>
        </tr>
      </table>
   </body>
0
Darryl Mendonez