2013-11-15 25 views
0

当使用mutt.I将以下html页面通过电子邮件发送(Yahoo/Gmail)时,我无法看到CSS样式。我只是看到一个普通表格。但在浏览器中查看它时,我会得到期望的样式。为什么 ?我错过了什么吗?在电子邮件中看到没有CSS样式

mutt -e "set content_type=text/html" [email protected] -s "Test" < Test.html 

的test.html

<!DOCTYPE html> 
<html> 
<head> 
<style> 
rd{ color: red; } 
gn{ color: green; } 
body { background-color:#E0E0E0; font-family: helvetica;font-size: 15px;} 
</style> 
</head> 
<body> 
<table border="1" align ="left"> 
<tr><th>No.</th><th>Item</th></tr> 
<tr><td>1</td><td><gn>abc</gn></td></tr> 
<tr><td>2</td><td><rd>ghi</rd></td></tr> 
</table> 
</body> 
</html> 
+4

什么是“rd”和“gn”? – Sachin

+2

尝试添加内联样式 - 大多数电子邮件客户端会去掉样式标签。 – brouxhaha

+1

您的HTML无效,您需要关闭最后一个'','gn'不是HTML标记。 – putvande

回答

1

HTML的电子邮件是非常有限的地步,如预期,甚至DIV和P标签不总是起作用。试图创建自己的标签只是要求麻烦。

您的两个表格单元格应该是这样的,而不是:

<tr><td>1</td><td style="font-family: Helvetica, Arial, sans-serif; font-size: 15px; color:#007700;">abc</td></tr> 
<tr><td>2</td><td style="font-family: Helvetica, Arial, sans-serif; font-size: 15px; color:#770000;">ghi</td></tr> 

除了总是内联你的CSS,你需要用最大的电子邮件客户端支持的6位十六进制颜色。您还必须在每个表格单元格中重新声明您的字体样式。冗余的,不幸的是,这是HTML电子邮件所需要的。

不要忘记字体堆栈,因为您目前假设读者已安装Helvetica。

+0

嗯..这是一个有很多列和行的表的很多冗余代码。我想我没有选择。 – Jean

4

包括HTML电子邮件中的CSS的方法是使用内联样式。

<!DOCTYPE html> 
    <html> 
    <body style='background-color:#E0E0E0; font-family: helvetica;font-size: 15px;'> 
     <table border="1" align="left" style="color:red;"> 
      <tr><th>No.</th><th>Item</th></tr> 
      <tr><td>1</td><td><gn>abc</gn></td></tr> 
     </table> 
    </body> 
    </html> 

编号:http://www.htmlgoodies.com/beyond/css/article.php/3679231

+0

@Jean但是你明白了,使用内联样式。 – Leng

相关问题