我想在打印时隐藏HTML格式消息中的表格。它有一个class="noprint"属性。其他彬彬有礼的邮件客户端尊重CSS规则和媒体查询,对于它们,我需要做的就是添加一个基本的样式表:
@media print {
.noprint { display: none; }
}
我从这篇文章中看到Outlook和Word不支持媒体查询。
有谁知道解决方法?
有一个条件的 css 解决方法。将此代码添加到您的主 css 文件中。
<!--[if gte mso 9]>
<style type="text/css">
.noprint { display: none; }
</style>
<![endif]-->
希望这有帮助。
mso-hide:all
本身不起作用。它是 Microsoft Word 引擎的供应商特定属性。为了使在桌面上隐藏/在移动设备上显示情况正常工作,您需要其他属性。下面是您需要使用的一些其他属性:
*[class="hide"] {
max-height:0; /* Gmail*/
display:none; /* Generic*/
mso-hide:all; /* Outlook clients*/
overflow:hidden; /* Generic */
font-size:0; /* Be careful with this one, only use if absolutely required */
}
然后在媒体查询中,您希望覆盖设置为与隐藏相反的任何值。
另请注意 mso-hide:all
,如果尝试隐藏包含嵌套表的表单元格中的内容,则必须将此属性应用于其中的任何和所有嵌套表。