5

em-dash的正确编码应该是—,但是当分号被省略时,它仍然在我的浏览器(chrome 和 firefox)中正确显示。

此外,我正在使用Litmus.com跨多个电子邮件客户端测试字符编码。事实证明,在显示除 gmail(IE、chrome 和 firefox)之外的特殊字符时,几乎所有这些都忽略了所需的分号。

所以我的问题是:编码的 HTML 特殊字符是否需要以分号结尾?似乎 gmail 正在遵守规则,而其他人都忽略了所需的分号。

4

4 回答 4

6

由于 4.01 版之前的 HTML 是基于 SGML 的,因此可以消除最终版本;,请参阅w3centities

笔记。在SGML中,可以去掉最后的“;” 在某些情况下,在字符引用之后(例如,在换行符处或紧接在标记之前)。在其他情况下,它可能不会被消除(例如,在单词中间)。我们强烈建议使用“;” 在所有情况下,以避免需要此字符存在的用户代理出现问题。

但是,当前的 HTML5 工作草案指出字符引用需要以分号结束。为了使您当前的站点为 HTML5 做好准备,我建议您以分号结束引用。

于 2012-11-01T18:26:05.210 回答
4

浏览器会尽力解释您的意图,并且有些宽容。最好遵守规则,以确保在任何地方都能正常工作。

于 2012-11-01T18:22:20.950 回答
1

关于“可选”分号用例已经有过几次争论。我能给你的最好建议就是使用它。

如果该规则正在使用它会导致所有浏览器工作,而不使用它会导致大多数浏览器工作,请使用ALL

另外,W3C 在这里声明(虽然我找不到完整的规范):http ://www.w3.org/TR/html4/intro/sgmltut.html#h-3.2.3

于 2012-11-01T18:21:36.450 回答
0

是的,它们最后必须有一个分号。然而,浏览器确实原谅了大部分时间并尝试解释它。这是一个可能失败的示例:

this&that 将返回this&ampthat ——失败

尽管

this&that将返回this&that ——工作

于 2012-11-01T18:23:48.330 回答