我正在开发HTML电子邮件模板,其中该页面还支持打印功能。 HTML文档的样式应该不同,当打印相同时。所以,我添加了一个 internal
样式表用于打印(仅限),其余样式由 inline
样式使用,使用如下:
< style type =“text / css”>
 @media print {
 / *打印相关样式* /
 }
< / style>



 我知道 @media print {..}
并且所有电子邮件客户端都不支持 media =“print”
,并且没有问题,但问题是 - :我拥有的样式添加用于打印,完全被客户删除。
因此,我无法通过提供不同的打印样式来定位DOM。
答案 0 :(得分:1)
可能你可以试试这个。 为打印版本创建模板的副本,并将其上载到服务器中。然后从电子邮件模板中添加一个链接。 我不确定这是否是确切的解决方案。
如果您无法保留两份副本,请将链接添加到同一电子邮件模板本身的网址。现在单击此按钮将在新窗口中打开与普通网页相同的模板。这里它将支持所有标签和媒体查询。因此,仅用于打印的所有必需样式应该在标签外侧体中。因此,只有在新窗口中打开的打印版本才能使用此功能。电子邮件模板所需的样式应该是内联的,因此它将支持任何电子邮件客户端。
答案 1 :(得分:0)
这是由谷歌和其他人的许多电子邮件完成的,他们删除了样式/脚本和其他东西......
您需要转而使用内联样式
答案 2 :(得分:0)
好吧,如果此类@media print { body { display:none } }
之类的内容不起作用,则电子邮件客户端不支持打印媒体查询。如果电子邮件客户端删除它与否则无关:/
刚刚想到的东西,这可能不会起作用,但您可以尝试使用可能更好支持的媒体查询来定位A4 sizes,例如@media (max-width: 595px) {}
引用< strong> A4 - 72 PPI
试试并告诉我它是否有效请:)