2013-03-01 124 views
5

我已經做了一個HTML電子郵件模板,應該是響應。它在不同的電子郵件客戶端和移動設備上顯示完美。但是在Outlook上,它的亮度達到了100%,這絕對不是很酷,因爲標題寬度爲600px。響應html電子郵件:展望

我知道Outlook不支持max-width屬性。但僅使用width會導致移動瀏覽器顯示錯誤。

因此,我的問題是:我該怎麼做/改變模板使其響應,仍然顯示在600px的最大寬度?

這是代碼。首先用額外的css(應該更好地閱讀),其次用內聯css(應該在發送電子郵件時使用)。使用http://beaker.mailchimp.com/inline-css來呈現它內聯。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<!-- If you delete this tag, the sky will fall on your head --> 
<meta name="viewport" content="width=device-width" /> 

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 

<style> 
    /* ------------------------------------- 
     GLOBAL 
------------------------------------- */ 
* { 
    margin:0; 
    padding:0; 
} 
* { font-family:Arial, Verdana, "Times New Roman";} 

img { 
    max-width: 100%; 
} 
.collapse { 
    margin:0; 
    padding:0; 
} 
body { 
    -webkit-font-smoothing:antialiased; 
    -webkit-text-size-adjust:none; 
    width: 100%!important; 
    height: 100%; 
    background:#F4F3F4; 
} 


/* ------------------------------------- 
     ELEMENTS 
------------------------------------- */ 
a { color: #2BA6CB;} 

p.callout { 
    padding:15px; 
    background-color:#ECF8FF; 
    margin-bottom: 15px; 
} 
.callout a { 
    font-weight:bold; 
    color: #2BA6CB; 
} 


/* ------------------------------------- 
     BODY 
------------------------------------- */ 
table.body-wrap { width: 100%;} 


/* ------------------------------------- 
     TYPOGRAPHY 
------------------------------------- */ 
h1,h2,h3,h4,h5,h6 { 
line-height: 1.1; margin-bottom:15px; color:#000; 
font-family:Arial, Verdana, "Times New Roman"; 
} 
h1 small, h2 small, h3 small, h4 small, h5 small, h6 small { font-size: 60%; color: #6f6f6f; line-height: 0; text-transform: none; } 

h1 { font-weight:200; font-size: 44px;} 
h2 { font-weight:200; font-size: 37px;} 
h3 { font-weight:500; font-size: 27px;} 
h4 { font-weight:500; font-size: 23px;} 
h5 { font-weight:900; font-size: 17px;} 
h6 { font-weight:900; font-size: 14px; text-transform: uppercase; color:#444;} 

.collapse { margin:0!important;} 

p, ul { 
    margin-bottom: 10px; 
    font-weight: normal; 
    font-size:14px; 
    line-height:1.6; 
} 
p.lead { font-size:17px; } 
p.last { margin-bottom:0px;} 

ul li { 
    margin-left:5px; 
    list-style-position: inside; 
} 


/* --------------------------------------------------- 
     RESPONSIVENESS 
     Nuke it from orbit. It's the only way to be sure. 
------------------------------------------------------ */ 

/* Set a max-width, and make it display as block so it will automatically stretch to that width, but will also shrink down on a phone or something */ 
.container { 
    display:block!important; 
    max-width:600px!important; 
    margin:0 auto!important; /* makes it centered */ 
    clear:both!important; 
    padding:0!important; 
} 

/* This should also be a block element, so that it will fill 100% of the .container */ 
.content { 
    padding:0 5px 5px 5px; 
    max-width:600px; 
    margin:0 auto; 
    display:block; 
} 

/* Let's make sure tables in the content area are 100% wide */ 
.content table { 
    width: 100%; 
    background:#FFF; 
    border: solid 1px #d9d9d9; 
} 


/* Be sure to place a .clear element after each set of columns, just to be safe */ 
.clear { display: block; clear: both; } 

</style> 

</head> 

<body> 

<table class="body-wrap"> 
    <tr> 
     <td></td> 
     <td class="container" bgcolor="#F4F3F4"> 
      <div class="content"> 
      <p style="color:#666; margin:0; padding:0; font-size:10px;"><a href="{email_url}" style="color:#666; margin:0; padding:0;">Klik hier</a> om deze e-mail online te bekijken.</p> 
      <table bgcolor="#FFFFFF" style="text-align:left;"> 
       <tr> 
        <td> 
         <p><img src="http://topografieindeklas.nl/brandingfiles/headerAlgemeen600px.jpg" /></p> 

         <!-- Callout Panel --> 
         <p class="callout"> 
          Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt. <a href="#">Do it Now! &raquo;</a> 
         </p><!-- /Callout Panel --> 
         <?php if (empty($posts)) { ?> 
          <p style="padding: 15px;">Here you can start to write your message. Be polite with your readers! Do not forget the subsject of this message.</p> 
         <?php } else { ?> 
         <table cellpadding="5" style="padding: 15px;"> 
          <?php foreach ($posts as $post) { setup_postdata($post); ?> 
           <tr> 
            <td><a href="<?php echo get_permalink(); ?>"><img width="75" src="<?php echo newsletter_get_post_image($post->ID); ?>" alt="image"></a></td> 
            <td valign="top"> 
            <a href="<?php echo get_permalink(); ?>"><h3><?php the_title(); ?></h3></a></td> 
           </tr> 
          <?php } ?> 
         </table> 
         <?php } ?>  

         <br/> 
         <br/>       

        </td> 
       </tr> 
       <tr style="margin:0 15px;"> 
        <td align="center" style="border-top: solid 1px #d9d9d9; padding:5px 0;" > 
         <p> 
          <a href="http://twitter.com/Topografie">Twitter</a> | 
          <a href="https://www.facebook.com/TopografieindeKlas">Facebook</a> | 
          <a href="{unsubscription_url}">Geen nieuws e-mails meer ontvangen</a> 
         </p> 
        </td> 
       </tr> 
      </table> 
      </div> 

     </td> 
     <td></td> 
    </tr> 
</table><!-- /BODY --> 

</body> 
</html> 

內聯CSS:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" style="margin: 0;padding: 0;font-family: Arial, Verdana, &quot;Times New Roman&quot;;"> 
<head style="margin: 0;padding: 0;font-family: Arial, Verdana, &quot;Times New Roman&quot;;"> 
<!-- If you delete this tag, the sky will fall on your head --> 
<meta name="viewport" content="width=device-width" style="margin: 0;padding: 0;font-family: Arial, Verdana, &quot;Times New Roman&quot;;"> 

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" style="margin: 0;padding: 0;font-family: Arial, Verdana, &quot;Times New Roman&quot;;"> 



</head> 

<body style="margin: 0;padding: 0;font-family: Arial, Verdana, &quot;Times New Roman&quot;;-webkit-font-smoothing: antialiased;-webkit-text-size-adjust: none;height: 100%;background: #F4F3F4;width: 100%;"> 

<table class="body-wrap" style="margin: 0;padding: 0;font-family: Arial, Verdana, &quot;Times New Roman&quot;;width: 100%;"> 
    <tr style="margin: 0;padding: 0;font-family: Arial, Verdana, &quot;Times New Roman&quot;;"> 
     <td style="margin: 0;padding: 0;font-family: Arial, Verdana, &quot;Times New Roman&quot;;"></td> 
     <td class="container" bgcolor="#F4F3F4" style="margin: 0 auto;padding: 0;font-family: Arial, Verdana, &quot;Times New Roman&quot;;display: block;max-width: 600px;clear: both;"> 
      <div class="content" style="margin: 0 auto;padding: 0 5px 5px 5px;font-family: Arial, Verdana, &quot;Times New Roman&quot;;max-width: 600px;display: block;"> 
      <p style="color: #666;margin: 0;padding: 0;font-size: 10px;font-family: Arial, Verdana, &quot;Times New Roman&quot;;margin-bottom: 10px;font-weight: normal;line-height: 1.6;"><a href="{email_url}" style="color: #666;margin: 0;padding: 0;font-family: Arial, Verdana, &quot;Times New Roman&quot;;">Klik hier</a> om deze e-mail online te bekijken.</p> 
      <table bgcolor="#FFFFFF" style="text-align: left;margin: 0;padding: 0;font-family: Arial, Verdana, &quot;Times New Roman&quot;;width: 100%;background: #FFF;border: solid 1px #d9d9d9;"> 
       <tr style="margin: 0;padding: 0;font-family: Arial, Verdana, &quot;Times New Roman&quot;;"> 
        <td style="margin: 0;padding: 0;font-family: Arial, Verdana, &quot;Times New Roman&quot;;"> 
         <p style="margin: 0;padding: 0;font-family: Arial, Verdana, &quot;Times New Roman&quot;;margin-bottom: 10px;font-weight: normal;font-size: 14px;line-height: 1.6;"><img src="http://topografieindeklas.nl/brandingfiles/headerAlgemeen600px.jpg" style="margin: 0;padding: 0;font-family: Arial, Verdana, &quot;Times New Roman&quot;;max-width: 100%;"></p> 

         <!-- Callout Panel --> 
         <p class="callout" style="margin: 0;padding: 15px;font-family: Arial, Verdana, &quot;Times New Roman&quot;;margin-bottom: 15px;font-weight: normal;font-size: 14px;line-height: 1.6;background-color: #ECF8FF;"> 
          Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt. <a href="#" style="margin: 0;padding: 0;font-family: Arial, Verdana, &quot;Times New Roman&quot;;color: #2BA6CB;font-weight: bold;">Do it Now! &raquo;</a> 
         </p><!-- /Callout Panel --> 
         <?php if (empty($posts)) { ?> 
          <p style="padding: 15px;margin: 0;font-family: Arial, Verdana, &quot;Times New Roman&quot;;margin-bottom: 10px;font-weight: normal;font-size: 14px;line-height: 1.6;">Here you can start to write your message. Be polite with your readers! Do not forget the subsject of this message.</p> 
         <?php } else { ?> 
         <table cellpadding="5" style="padding: 15px;margin: 0;font-family: Arial, Verdana, &quot;Times New Roman&quot;;width: 100%;background: #FFF;border: solid 1px #d9d9d9;"> 
          <?php foreach ($posts as $post) { setup_postdata($post); ?> 
           <tr style="margin: 0;padding: 0;font-family: Arial, Verdana, &quot;Times New Roman&quot;;"> 
            <td style="margin: 0;padding: 0;font-family: Arial, Verdana, &quot;Times New Roman&quot;;"><a href="&lt;?php echo get_permalink(); ?&gt;" style="margin: 0;padding: 0;font-family: Arial, Verdana, &quot;Times New Roman&quot;;color: #2BA6CB;"><img width="75" src="&lt;?php echo newsletter_get_post_image($post-&gt;ID); ?&gt;" alt="image" style="margin: 0;padding: 0;font-family: Arial, Verdana, &quot;Times New Roman&quot;;max-width: 100%;"></a></td> 
            <td valign="top" style="margin: 0;padding: 0;font-family: Arial, Verdana, &quot;Times New Roman&quot;;"> 
            <a href="&lt;?php echo get_permalink(); ?&gt;" style="margin: 0;padding: 0;font-family: Arial, Verdana, &quot;Times New Roman&quot;;color: #2BA6CB;"><h3 style="margin: 0;padding: 0;font-family: Arial, Verdana, &quot;Times New Roman&quot;;line-height: 1.1;margin-bottom: 15px;color: #000;font-weight: 500;font-size: 27px;"><?php the_title(); ?></h3></a></td> 
           </tr> 
          <?php } ?> 
         </table> 
         <?php } ?>  

         <br style="margin: 0;padding: 0;font-family: Arial, Verdana, &quot;Times New Roman&quot;;"> 
         <br style="margin: 0;padding: 0;font-family: Arial, Verdana, &quot;Times New Roman&quot;;">       

        </td> 
       </tr> 
       <tr style="margin: 0 15px;padding: 0;font-family: Arial, Verdana, &quot;Times New Roman&quot;;"> 
        <td align="center" style="border-top: solid 1px #d9d9d9;padding: 5px 0;margin: 0;font-family: Arial, Verdana, &quot;Times New Roman&quot;;"> 
         <p style="margin: 0;padding: 0;font-family: Arial, Verdana, &quot;Times New Roman&quot;;margin-bottom: 10px;font-weight: normal;font-size: 14px;line-height: 1.6;"> 
          <a href="http://twitter.com/Topografie" style="margin: 0;padding: 0;font-family: Arial, Verdana, &quot;Times New Roman&quot;;color: #2BA6CB;">Twitter</a> | 
          <a href="https://www.facebook.com/TopografieindeKlas" style="margin: 0;padding: 0;font-family: Arial, Verdana, &quot;Times New Roman&quot;;color: #2BA6CB;">Facebook</a> | 
          <a href="{unsubscription_url}" style="margin: 0;padding: 0;font-family: Arial, Verdana, &quot;Times New Roman&quot;;color: #2BA6CB;">Geen nieuws e-mails meer ontvangen</a> 
         </p> 
        </td> 
       </tr> 
      </table> 
      </div> 

     </td> 
     <td style="margin: 0;padding: 0;font-family: Arial, Verdana, &quot;Times New Roman&quot;;"></td> 
    </tr> 
</table><!-- /BODY --> 

</body> 
</html> 
+0

上午我正確地解釋這一點,在你把你的CSS響應內嵌?您的自適應代碼應該顯示在電子郵件頭的屏幕尺寸相關媒體查詢中。 – samanthasquared 2013-03-01 17:09:49

+0

http://stackoverflow.com/a/23346010/1922144 – davidcondrey 2014-07-07 23:45:54

回答

1

有許多關於這幾個問題,併爲最好的跨客戶端結果的普遍共識是要自己限制在HTML2沒有真正依靠CSS,當談到到電子郵件樣式。下面的鏈接,都回答了過去的SO問題:

Is there an equivalent of CSS max-width that works in HTML emails?

CSS Styling won't work in outlook 2010?

然而時,Outlook確實有它自己的條件語句,所以你可以創建一個單獨的一組的Outlook樣式規則:

Is there a conditional CSS If for outlook?

4

嘗試在一個表,其包裝模板設置爲100%,三個單元格(TD s)水平排列,中心單元格設置爲width="600"(使用HTML屬性設置寬度,而不是CSS)。兩邊的兩個單元格保持空白,沒有任何寬度信息。這是獲得max-width行爲的html唯一途徑。

例子:http://jsfiddle.net/YcwM7/

<table border="0" cellspacing="0" width="100%"> 
    <tr> 
     <td></td> 
     <td width="350">This cell should be a maximum width of 
        350 pixels, but shrink to widths less than 350 pixels. 
     </td> 
     <td></td> 
    </tr> 
</table>