我正在发送关于每周食品订单的电子邮件。这实际上意味着1,2或3个表。我正在尝试从源中消除任何不必要的HTML以节省带宽。现在还剩下一件事:
当客户端一天没有订购任何东西时,它需要6个字节。
当我将
更改为一个简单的空格时,它会破坏我的表格。
是否有任何有效的解决方案可以抛弃不间断的空间而不会折叠我的表格单元格?
更新
感谢所有人的答案,他们做了我想要的事情,毕竟我应该接受Joeri的答案,因为一些电子邮件客户端(例如Mozilla Thunderbird,Windows)完全搞砸了下面的解决方案。
答案 0 :(得分:3)
这样做的问题是电子邮件客户端差异很大。发送HTML电子邮件时,您应该始终使用大多数客户都能理解的内容。 (不间断的空间)是这样的事情。很多客户端可能无法识别css属性,并且可能不支持unicode。
所以我认为在这种情况下你会陷入困境。
关于直接输入:实体(例如此实体)存在是因为许多旧系统仅支持7位ascii。不间断的空间(代码点160)超出了这个范围。你也有可能遇到一个不支持它的系统,但我想这与他们使用的代码页有关。
答案 1 :(得分:2)
您可以尝试这样做,但它不适用于所有浏览器/电子邮件客户端:
<table style="empty-cells: show">
答案 2 :(得分:1)
您可以逐字地添加由
表示的字符。这是Unicode代码点U + 00A0。输入法:
<C-k>NB
ALT+0160
的Perl:
perl -i -n -p 's/ /\x{A0}/g' email.html
虽然正如Joeri Hendrickx在他的回答中指出的那样,从字面上输入超出ASCII的字符可能会导致电子邮件工具链的所有位置出现问题,从发件人的客户端开始(如果您碰巧使用HTML作为模板) a,比方说,Outlook用户)并在接收者的收件箱服务器和客户端结束,处理它。
我想加入Joeri的建议,让
保持不变并与额外的字节一起生活。如果你有很多,请尝试重构HTML。
答案 3 :(得分:0)
Alt + 0160会产生一个空白的,不间断的空格字符:
答案 4 :(得分:-2)
尝试将TABLE DATA与&amp; nbsp保持在同一行。相信我它有效!
`
<tr>
<td width="50"> </td>
</tr>
`