当电子邮件客户端丢弃<style>标签时,如何在电子邮件模板中应用打印样式表?

时间:2016-05-25 06:02:33

标签: html css

我正在开发HTML电子邮件模板,其中该页面还支持打印功能。 HTML文档的样式应该不同,当打印相同时。所以,我添加了一个 internal 样式表用于打印(仅限),其余样式由 inline 样式使用,使用如下:

&# xA;&#xA;
 &lt; style type =“text / css”&gt;&#xA; @media print {&#xA; / *打印相关样式* /&#xA; }&#xA;&lt; / style&gt;&#xA;  
&#xA;&#xA;

我知道 @media print {..} 并且所有电子邮件客户端都不支持 media =“print”,并且没有问题,但问题是 - :我拥有的样式添加用于打印,完全被客户删除。&#xA;因此,我无法通过提供不同的打印样式来定位DOM。

&#xA;

3 个答案:

答案 0 :(得分:1)

可能你可以试试这个。 为打印版本创建模板的副本,并将其上载到服务器中。然后从电子邮件模板中添加一个链接。 我不确定这是否是确切的解决方案。

如果您无法保留两份副本,请将链接添加到同一电子邮件模板本身的网址。现在单击此按钮将在新窗口中打开与普通网页相同的模板。这里它将支持所有标签和媒体查询。因此,仅用于打印的所有必需样式应该在标签外侧体中。因此,只有在新窗口中打开的打印版本才能使用此功能。电子邮件模板所需的样式应该是内联的,因此它将支持任何电子邮件客户端。

答案 1 :(得分:0)

这是由谷歌和其他人的许多电子邮件完成的,他们删除了样式/脚本和其他东西......

您需要转而使用内联样式

答案 2 :(得分:0)

好吧,如果此类@media print { body { display:none } }之类的内容不起作用,则电子邮件客户端不支持打印媒体查询。如果电子邮件客户端删除它与否则无关:/

刚刚想到的东西,这可能不会起作用,但您可以尝试使用可能更好支持的媒体查询来定位A4 sizes,例如@media (max-width: 595px) {}引用< strong> A4 - 72 PPI

试试并告诉我它是否有效请:)