web-dev-qa-db-ja.com

Gmailメールの絶対位置付け

サイトにサインアップした人にギフト券を送りたいクライアントがいます。彼らはそれがすべてデザインされていることを望んでいるので、私はテキストメールを送ることはできません。画像の上にテキストを配置して、画像が動的になるようにします。

私は絶対位置でこれをやろうとしています。いくつかの電子メールシステムはそれを愛しています。嫌いな人もいます。 Gmailはたまたま嫌いです。

キャンペーンにはMailChimpを使用しています。これがメールの完全なソースです。それに続くのは、機能していないスニペットです。

<html> 
    <head> 
        <!-- This is a simple example template that you can edit to create your own custom templates -->
        <meta http-equiv="Content-type" content="text/html; charset=utf-8"> 
        <title>*|MC:SUBJECT|*</title> 

    <style type="text/css">body{background-color:#bab145;text-align:center;}#layout{border:5px solid #999999;background:#ffffff;margin:10px auto;text-align:left;}#header{background-color:#cccccc;padding:0px;color:#333333;font-size:30px;font-family:Georgia;text-align:left;}#content{font-size:13px;color:#4d4d4d;font-family:Helvetica;line-height:1.25em;padding:10px 30px;}.primary-heading{font-size:28px;font-weight:bold;color:#8b0000;font-family:Georgia;line-height:150%;margin:25px 0 0 0;}.secondary-heading{font-size:20px;font-weight:bold;color:#000000;font-style:normal;font-family:Georgia;margin:25px 0 5px 0;}#footer{background-color:#eeeeee;border-top:0px none #ffffff;padding:20px;font-size:10px;color:#333333;line-height:100%;font-family:Verdana;}#footer a{color:#800000;text-decoration:underline;font-weight:normal;}a,a:link,a:visited{color:#800000;text-decoration:underline;font-weight:normal;}</style></head> 
    <body style="background-color: #bab145;text-align: center;"> 
        <table id="layout" border="0" cellspacing="0" cellpadding="0" width="600" style="border: 5px solid #999999;background: #ffffff;margin: 10px auto;text-align: left;"> 


            <tr> 
                <td id="content" style="font-size: 13px;color: #4d4d4d;font-family: Helvetica;line-height: 1.25em;padding: 10px 30px;"><div style="height:243px; width: 500px; position: relative;">
<img src="http://getfreepellets.com/images/GC_flat.jpg" style="position: absolute;">
    <div style="position: absolute; top: 110px; left: 130px;">
        *|FNAME|* *|LNAME|*</div>
    <div style="position: absolute; top: 140px; left: 130px;">
        GetFreePellets.com</div>
    <div style="position: absolute; top: 166px; left: 130px;">
        $100</div>
    <div style="position: absolute; top: 200px; left: 370px;">
        *|COUPONCODE|*</div>
</div>
</td></tr> 

            <tr> 
                <td id="footer" style="background-color: #eeeeee;border-top: 0px none #ffffff;padding: 20px;font-size: 10px;color: #333333;line-height: 100%;font-family: Verdana;"> 
                    <p><a href="*|ARCHIVE|*" class="adminText" style="color: #800000;text-decoration: underline;font-weight: normal;">view email in browser</a> | <a href="*|UNSUB|*" style="color: #800000;text-decoration: underline;font-weight: normal;">Unsubscribe</a> *|EMAIL|* | <a href="*|UPDATE_PROFILE|*" style="color: #800000;text-decoration: underline;font-weight: normal;">Update your profile</a> | <a href="*|FORWARD|*" style="color: #800000;text-decoration: underline;font-weight: normal;">Forward to a friend</a></p> 

                    <p>*|LIST:DESCRIPTION|*</p> 

                    <p>*|HTML:LIST_ADDRESS_HTML|*</p> 
                    <p>Copyright (C) *|CURRENT_YEAR|* *|LIST:COMPANY|* All rights reserved.</p> 
                </td> 
            </tr> 
        </table>
        <span style="padding: 0px;"></span>
    <center><table width="95%" style="clear:both;margin:0px !important;padding:0px !important;margin-top:20px !important;border-top:1px solid #999 !important;border-bottom:1px solid #999 !important;" cellpadding="0" cellspacing="0"><tr>
    <td align="left" style="padding:10px !important;margin:0px !important;color:#666 !important;background:#CCC !important;width:50% !important;border-bottom 1px solid #999 !important;font-family:Verdana,Arial,Sans !important;font-size:11px !important;font-weight:normal !important;font-style:normal !important;text-decoration:none !important;vertical-align:middle !important;text-align:left !important;">
        Sent to *|EMAIL|*.  <a href="*|UNSUB|*" style="font-family:Verdana,Arial,Sans !important;font-size:11px !important;font-weight:normal !important;font-style:normal !important;text-decoration:none !important;color:#03C !important;">Unsubscribe</a> |
        <a href="*|UPDATE_PROFILE|*" style="font-family:Verdana,Arial,Sans !important;font-size:11px !important;font-weight:normal !important;font-style:normal !important;text-decoration:none !important;color:#03C !important;">Update Profile</a> |
        <a href="*|FORWARD|*" style="font-family:Verdana,Arial,Sans !important;font-size:11px !important;font-weight:normal !important;font-style:normal !important;text-decoration:none !important;color:#03C !important;">Forward to a Friend</a>
    </td>
    <td align="right" style="padding:10px !important;margin:0px !important;color:#666 !important;background:#CCC !important;width:50% !important;border-bottom 1px solid #999 !important;vertical-align:middle !important;text-align:right !important;">
        *|REWARDS|*
    </td>
</tr></table></center></body> 
</html>

そして、私が心配しているスニペット:

<tr> 
                <td id="content" style="font-size: 13px;color: #4d4d4d;font-family: Helvetica;line-height: 1.25em;padding: 10px 30px;"><div style="height:243px; width: 500px; position: relative;">
<img src="http://getfreepellets.com/images/GC_flat.jpg" style="position: absolute;">
    <div style="position: absolute; top: 110px; left: 130px;">
        *|FNAME|* *|LNAME|*</div>
    <div style="position: absolute; top: 140px; left: 130px;">
        GetFreePellets.com</div>
    <div style="position: absolute; top: 166px; left: 130px;">
        $100</div>
    <div style="position: absolute; top: 200px; left: 370px;">
        *|COUPONCODE|*</div>
</div>
</td></tr> 

注:MailChimpマージ変数は、|の間のものです。および|

これは、Entourageでの表示のイメージです。赤いバーは本名なので、.. ya: Email working http://img.skitch.com/20100804-m91tny1ck75adfibga6cundcxr.jpg

そして、これはGmailにあります(名前が修正されていないことは知っています): Email not working http://img.skitch.com/20100804-rfrb1fejjubqr4id56yq1xihdp.jpg

Gmailでこれを機能させる方法についてのアイデアはありますか?

44
hookedonwinter

残念ながら、position: absoluteは使用できません。

また、OutlookはWord HTMLレンダラーを使用しているため、絶対配置を使用すると問題が発生します。

ほとんどのHTMLメールは、テーブルを使用してレイアウトされます。

チェックアウト

51
alex

すべてをテーブルとして行うことをお勧めします(電子メールクライアントではdivサポートは100%信頼できません)。ボーダープロパティを使用して、テーブルに緑のボーダーを付けます。表の最初の行にロゴ/バナーの画像を挿入します(3つの列を結合します)。 To、From、およびAmountの次の3行を使用します(マージされた2番目と3番目の列の値を使用)。そして、cuponコードの最後の行の最後の列を使用します。

二重の境界線が本当に必要な場合は、テーブルをdivでラップするか、最大の互換性のために、テーブルを1列1行のテーブルでラップすることができます。

はい、それはいですが、電子メールクライアントには非常にバグが多い、またはHTMLの古い実装があります。

詳細については、alexが投稿したリンクを参照してください。

3
slebetman

(私は4年後に答えていることを知っています...しかしおそらくそれは誰かを助けるでしょう...)注意深く見ると、あなたは背景画像を持っていない、おそらく10枚以上の画像、多くの背景色と複雑なテーブル。

テキストの背後に画像はありません。テーブルを分割して、背景画像を複数の画像フラグメントとして作成し、テキストの背景色をこれらの画像と一致させることができます。

本当に...このテンプレートには、「必要な」背景画像はなく、複雑なテーブルがあります。

2
Beto Aveiga

これは私にとってトリックでした: http://blog.rebelmail.com/absolute-positioning-in-email/

それは絶対確実な解決策ではないことに注意してください。 Outlookで問題が発生したため、無効にする必要があります。

0
panec