您好,我正在尝试撰写有关 html 标准的报告,但除了“其良好的标准”之外,我一生都无法找到有关 html 标记的任何信息,我的问题是为什么需要这样做?假设我正在使用严格的文档类型,如果您从文档中省略它会发生什么情况。如果您还知道我可以在哪里找到支持和反对 html 标记的好信息/论据,那将是非常棒的,感谢您的所有帮助。我正在开发一个类似于 w3schools 的教程类型的网站,但是对于 html 新手的学生来说,这是一个封闭的系统,所以我试图将内容放在一起,获取阅读材料等,以使这个在线系统成为最好的真的可以。
5 回答
HTML 文档必须有一个根节点。该根节点必须是 HTML 元素。
该规范允许省略 html 元素的开始标记(可以隐含该元素的存在,因此您无需具体说明它。)
但是,如果您没有 HTML 标记,那么您就不能在其上具有任何属性。如果你不能有属性,你就不能有一个lang
属性。如果您没有lang
属性,那么客户必须通过猜测来确定文档的语言。
这可能会导致问题,尤其是在文档中使用多种语言的情况下,例如页面出现在不同的搜索结果集中(该文档似乎是法语,所以我们不要对讲英语的人进行高度评价)和不正确的发音指南由屏幕阅读器选择。
还有一些其他属性可以出现在html
标签上,但这可能是不包括在内的最严重后果的一个。其他可能会产生影响的内容包括class
可以id
用于样式化页面的样式,它们共享样式表,但方式不同。
简而言之:HTML 标记仅对您可以附加到它的属性有用。
SGML 语法(从中派生出 HTML)规定文档中应该只有一个最顶层的元素:http ://en.wikipedia.org/wiki/Standard_Generalized_Markup_Language#Syntax
无需争论它是否需要:如果您的文档没有<html>
标签,那么它就不是 HTML 文档,就像没有法拉利标志的法拉利不是法拉利(抱歉,强制性汽车类比)。
省略<html>
标签很可能会导致应用程序无法正确处理您的文档;某些浏览器(例如 IE6)可能会尝试通过在不完整的 HTML 文档中添加缺少的标签来找到解决方法,但是是全局的;这将导致不可预测的行为。
告诉浏览器它是一个 html 文档的开始和结束
它标记 html 文档的开始或结束。
它告诉浏览器这是一个 HTML 文档。它也是HTML
根节点。您应该始终将它包含在您的 HTML 文件中,并且永远不要忽略它(即使浏览器正确呈现页面)。
您可以通过以下方式验证 HTML 文档是否有效: