2010-10-15 79 views
0

我在頁面中顯示HTML電子郵件,並且通常會附帶我需要從主頁面中分離出的一般樣式信息。舉例來說,如果電子郵件看起來是這樣的:從頁面的其餘部分隔離元素中的CSS

<style type="text/css"> 
body { background-color:#000; } 
</style> 
<div> 
    email's content here 
<div> 

我結束了整個頁面在黑色背景上。

我試過iframe,但我需要內容的高度是動態的(我不知道每個電子郵件有多大,直到它呈現),這似乎只能用javascript做。這是一個選擇,但它似乎相當黑客。有沒有一個標準的,乾淨的方式來做到這一點?

回答

1

如果您的約束條件允許,您可以在自己的iframe中顯示每封電子郵件。

0

把唯一的類或ID上包含div和使用,作爲所有樣式的選擇:

<style type="text/css"> 
    div#emailcontent { ... } 
</style> 

<div id="emailcontent"> 
    ... 
</div> 

這是一個有點痛,但是這限制樣式只有一部分的唯一途徑的頁面。

+0

你的意思是把電子郵件中的所有css都包含在一個大選擇器中?這是有效的CSS?它似乎不適合我。類似#wrapper {#email_id1 {color:#000;}#email_id2 {color:#FFF;}}? – smurthas 2010-10-15 18:56:55

+0

不,你必須編寫'#wrapper#email_id1 {...}','#wrapper#email_id2 {...}'等等。嵌套的CSS會很方便,所以當然不會發生。 W3C不是很有用。 – 2010-10-15 19:25:13

+0

啊,這就是我所懷疑的。在這種情況下,感覺就像一個使用javscript調整大小的iframe可能是更好的選擇。 – smurthas 2010-10-15 19:28:27

0

對於HTML郵件,我會建議使用內聯CSS。有時候,獨特的課程或ID不適用於其他電子郵件客戶端。並且不要在電子郵件中使用Java腳本,在電子郵件營銷中使用javascript是不可接受的。請使用內聯代碼對每個標籤進行硬編碼,以便與跨電子郵件客戶端兼容。

p標籤應該轉換爲span標籤;在跨瀏覽器中,p標記會給出一些填充和餘量。如果您想使用,p標籤適用於整段的段落。請確保您在每個標記中定義內嵌代碼,例如:

< span class =「headlines」style =「font-family:Arial,Helvetica,sans-serif; font-size:13px; font-weight:normal; color :#03588c; line-height:18px;「> foo </span>

保證金和填充不應該用於css編碼的HTML。這在跨電子郵件客戶端不起作用。

相關問題