1

我正在发送有关每周食品订单的电子邮件。这实际上意味着 1、2 或 3 张桌子。我试图从源代码中消除任何不必要的 HTML 以节省带宽。现在还剩下一件事: 当客户一天没有订购任何东西时,它会花费 6 个字节。

当我将它更改 为一个简单的空间时,它会破坏我的桌子。

是否有任何有效的解决方案可以在不折叠表格单元格的情况下丢弃非破坏空间?

更新:

感谢他们的回答,毕竟我应该接受Joeri的回答,因为一些电子邮件客户端(例如Mozilla Thunderbird,Windows)完全搞砸了下面的解决方案。

4

5 回答 5

3

这样做的问题是电子邮件客户端差异很大。发送 html 电子邮件时,您应该始终使用大多数客户都能理解的内容。nbsp(不间断空格)就是这样的东西。相当多的客户端可能无法识别 css 属性,并且可能不支持 unicode。

所以我认为在这种情况下你被 nbsp 困住了。

关于直接输入:实体(比如这个)之所以存在,是因为很多旧系统只支持 7 位 ascii。不间断空间(代码点 160)超出了此范围。您也有可能遇到不支持它的系统,但我想这与他们使用的代码页有关。

于 2010-08-26T09:17:29.743 回答
2

你可以试试这个,但它不适用于所有浏览器/电子邮件客户端:

<table style="empty-cells: show">
于 2010-08-26T08:36:04.913 回答
1

&nbsp;您可以按字面意思添加由 表示的字符。它是 Unicode 代码点 U+00A0。输入法:

  • 六:<C-k>NB
  • 视窗:ALT+0160
  • 维基百科
  • 珀尔:

    perl -i -n -p 's/&nbsp;/\x{A0}/g' email.html
    

虽然,正如 Joeri Hendrickx 在他的回答中指出的那样,从字面上输入 ASCII 以外的字符可能会导致电子邮件工具链的所有位置出现问题,从发件人的客户端开始(如果您碰巧使用 HTML 作为 a 的模板,比如说, Outlook 用户)并在接收者的收件箱服务器和客户端结束,该服务器和客户端处理它。

我想加入 Joeri 的建议,即&nbsp;保持不变并接受额外的字节。如果您有很多,请尝试重构 HTML。

于 2010-08-26T08:40:21.467 回答
0

Alt+0160 产生一个空白的不间断空格字符: 

于 2010-08-26T08:37:43.120 回答
-2

尝试将 TABLE DATA 与   保持在同一行。相信我,它有效!

`

 <tr>

       <td width="50">&nbsp;</td>

 </tr>

`

于 2012-06-12T16:58:32.043 回答