X/HTML5 和 XHTML2

2020-04-24 19:40:58易采站长站整理

另外一个被提及的章节元素是nav,用于表示页面中链接其它页面的链接。我们真的需要nav元素吗?XHTML 2中的nl元素可以更好地完成这个任务。

HTML 4和XHTML 1中的不足在未来的规范中还将存在

因为X/HTML试图提供向后支持,HTML 4和XHTML 1中的不足将还会在X/HTML 5中存在。规范不必向后当空,相反应该客户端软件通过支持多种规范来提供向后兼容能力。

X/HTML 5没有遵循X/HTML 5手册

X/HTML 5旨在向后兼容HTML 4和XHTML 1。现在big、acronym、u和tt都还不是这个规范中的内容,而像i和samll等其它元素有了重新定义之后的语意。例如,在HTML 4.01规范中是这样定义i和small的:

i:使文本呈现斜体

small:以“小”字体呈现文本

在X/HTML 5中,i和small有了新的含意:

i元素用不同的方式来表现一段文本或者是与正文存在差异的段落,如分类设计、技术术语、外来语言的习惯用语、某个想法、意见、船名或者其它需要在印刷技术中呈现斜体的文本。。

small元素呈现的是小的打印字体(文档中具有说明法律约束作用的部分,如版权或者存在的弊端)和批注等。

通过重新定义i和small的含义,这破坏了对HTML 4和XHTML 1的向后兼容性。这是因为向后兼容应该意味着HTML 5的用户代理(user agent,浏览器)在呈现HTML 4的文档时应该和HTML 4的user agent保持一致。因此,如果HTML 5强调向后兼容,HTML 4中意义不大的结构在HTML 5中也同样没有多少意义。

不会吧?仍然支持font元素?

是的,如果开发者使用WYSIWYG编辑器的话, X/HTML 5依然支持font元素。这样做有什么合理性吗?难道WYSIWYG编辑器就能避免使用font吗?

WYSIWYG签名

使用WYSIWYG编辑器生成的文档必须在head元素中包含下面的WYSIWYG签名:

XML/HTML代码

<meta name="generator" content="(WYSIWYG editor)" />

或者:

XML/HTML代码

<meta name="generator" content="Sample Editor 1.0 (WYSIWYG editor)" />

这样做的理由是什么呢?某种耻辱的标记?它是不是要告诉浏览器做好最坏的准备,因为这个文档是用WYSIWYG编辑器生成的?那么,如果文档中只有一部分是使用WYSIWYG工具完成的又该怎么做呢?

支持预定义类名

预定义类名是X/HTML 5用户代理中保留的具有语意的CSS类名。下面的例子中copyright就是一个预定义的类名:

XML/HTML代码

<p class="copyright>…</p>

其它的预定义类名还有“error”、“example”、“issue”、“note”、“search”和“warning”。更麻烦的是,有些预定义类名只有在某些特定元素中使用而不能别其它元素中使用。例如,类名“copyright”只有在p和span元素中使用。类名“error”只有在p、section、span和strong中使用。