2013-07-31 63 views
1

HTML電子郵件是一羣善變的人。我的問題在於上標。呈現HTML電子郵件取決於哪個客戶端打開它

我的代碼是在某些桌面客戶端工作要求:

  • Outlook 2000中
  • 展望2003
  • Outlook 2007中
  • 展望2010

還有在某些網站基於電子郵件的客戶端(Firefox,Chrome,Explorer):

  • 的Gmail
  • 雅虎
  • AOL
  • 的Internet Explorer 7瀏覽器(笑)

目前最好的跨瀏覽器的代碼,我遇到的是:

<sup style="font-size:11px; line-height:0; vertical-align:3px;">

這個效果非常好,除了Outlook 2007和2010,其中font-size是s hrunk變得幾乎不可讀。其他的代碼,如:

<sup style="position:relative; vertical-align:baseline; bottom:4px;">

此代碼的工作一切進展順利,但Gmail中剝離了定位導致標坐在基線。

在嘗試了幾十種不同的造型組合之後,上述兩款都是提供最一致的字體大小和線條高度的組合。

問題

有一些代碼片段,我可以在頭部放置告訴電子郵件使用特定代碼或類,這取決於客戶端的電子郵件被打開?我知道Gmail更喜歡將內聯樣式放在類上,所以也許我可以直接應用Gmail漂亮的代碼,但如果它是在Gmail之外打開的,則會取消內聯樣式並退出課程。

+1

至於我知道的電子郵件,我們只能使用內聯CSS。 –

+1

課程適用於部分客戶,而不是全部(如Gmail)。 –

回答

1

You can target Outlook specifically with conditional comments

<!--[if gte mso 9]> 
    /* Your Outlook-specific CSS goes here. */ 
<![endif]--> 
+0

這就是我正在想的,希望這可以工作,現在就嘗試。 –

+0

@TimothyAdams Mailchimp非常可靠,他們的博客充滿了這樣的有用技巧。 HTML電子郵件無窮無盡(好描述)的另一個重要資源是[HTML電子郵件樣板項目](http://htmlemailboilerplate.com/)。 – Barney

+0

我會接受這個,因爲它處理我如何問這個問題,但我解決了我的問題。 –

0

我會強烈建議在這樣的情況下使用類似premailer的工具。它會自動內聯css類,並執行其他優化,以幫助解決跨客戶端問題。如果你經常做這樣的事情,甚至還有一個api來自動化這個過程。

+0

這不是inline-css的問題,它是在較舊/較新版本的Outlook中呈現不同代碼的問題。 –

1

使用mso標籤或樣式標籤的組合。

mso Tags將僅定位到Outlook或特定版本的Outlook,而Gmail不會從樣式標記中呈現任何內容。

我會爲gmail設置內聯格式,然後在樣式標記中使用!important來覆蓋內聯聲明。如果您想要爲不是Outlook的其他電子郵件客戶端在樣式標記中聲明多個樣式,請使用mso條件標記。

0

我能夠在不使用條件語句的情況下解決我的問題,我覺得值得分享以防其他人處理相同的問題。

我把我原來的<sup>並用<span>

因此創造了一切<sup> -esque外觀沒有任何變化交換了它,你應該使用標以下:

<span style="font-size:85%; line-height:0; vertical-align:3px;"></span>

這是在所有上述客戶端進行測試,並且所有內容看起來都一樣

相關問題