我想从我们的系统向客户发送一封电子邮件,其中应隐藏一些标签.我设置了以下CSS:
.hidden { display: none; }
Run Code Online (Sandbox Code Playgroud)
但这不起作用.在电子邮件中隐藏元素有哪些解决方案或替代方案?
Bri*_*ies 24
使用mso-hide:all周围内容的跨度,并且在跨度内的任何其他标记.
Ant*_*ine 14
我发现唯一可行的解决方案是在HTML源代码中使用条件格式:
<!--[if !mso 9]><!-->
<div>This block of code will display <b>everywhere</b> except in Outlook 2007.</div>
<!--<![endif]-->
Run Code Online (Sandbox Code Playgroud)
小智 8
我做了一些快速测试,发现Outlook(2000,2003,2007,2010,2013和Outlook.com)支持了display: none;预期的几种变体.另一方面,浏览器和Android上的Gmail惨遭失败.
我测试了以下内容:
<table>
<tr>
<td style="display: none;">01</td>
<td style="display: none !important;">02</td>
<td style="display: none; display: none !important;">03</td>
<td id="displayNone">04</td>
<td id="displayNoneImportant">05</td>
<td id="displayNoneDisplayNoneImportant">06</td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
CSS inline,HEAD和BODY
哪里有ID,我在一封电子邮件的HEAD和另一封电子邮件的BODY中测试了以下CSS.
<style>
#displayNone {
display: none;
}
#displayNoneImportant {
display: none !important;
}
#displayNoneDisplayNoneImportant {
display: none;
display: none !important;
}
</style>
Run Code Online (Sandbox Code Playgroud)
结果:CSS Inline和BODY
Outlook(全部)= 2000,2003,2007,2010,2013,Android Outlook,Outlook.com(IE,Fx,Chrome)
Gmail(全部)= IE,Fx,Chrome和Android中的Gmail
结果:CSS Inline和HEAD
长话短说
Outlook 2000+支持display: none;得相当好.Gmail没有.由于失败多少,很难辨别Gmail中失败或工作的内容.在某些情况下,屏幕甚至会被裁剪掉.
如果可以的话,我将在稍后重新测试并发布截图 - 现在我的测试设置花了太长时间来保存每个场景和阅读器的屏幕截图.