微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么具有dec <255的HTML实体名称不需要分号?

一个简单的 HTML文档&磅(dec 163)中,呈现为£,而不需要;而& oelig(dec 339)只会使用分号.似乎每个具有255以下的十进制值的html实体将在FireFox和Chrome中都不需要分号.

是什么赋予了?

解决方法

原因是,当一个实体引用(或一个字符引用)不是紧随其后的是一个名称字符时,分号是可选的.那么磅?是吗?不是名字字符(即名字中允许使用的字符),但是& pound4不是,因为4是一个名称字符,使得pound4是实体名称(在HTML中未定义但可能在某天被定义).这个规则是HTML中SGML遗产的一部分,浏览器实际应用了SGML的特色之一.

然而,它始终被认为是以分号终止实体引用的良好做法. XML,因此XHTML,使它甚至正式是强制性的.

这就是为什么目前的浏览器做法允许在“经典”HTML中省略分号,但仅限于表示ISO拉丁文1字符的有限的字符引用集合,即Unicode数字小于256的十进制字符(十六进制FF).这是原始的实体引用集合,因此这样的引用被广泛地用于没有分号.所以实践是一个妥协:他们希望鼓励使用可推荐的符号,但不会使一大堆旧页面无效,更不会使浏览器无法正确呈现.

HTML5草案在这方面有不同的立场,从2013年8月6日起,HTML5 CR要求所有情况下都使用分号,即使是HTML语法.缺少分号定义为parse error,这意味着错误处理定义明确(该实体将被识别),但浏览器可能仍然停止解析,首先解析错误

原文地址:https://www.jb51.cc/html/224535.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐