HTML の構造について言えば、多くの人はそれを明確に説明できます。一般的に、その答えは次のようになります。
DOCTYPE、つまり head 要素と body 要素が含まれる html。
もちろんこれが間違っているとは言えませんが、HTMLソースファイルに最低限何を含める必要があるかと問われれば、正確に答えられる人は少ないのではないかと思います。
最初にこの質問に答えましょう。最も単純な HTML5 ソース コード ファイルに必要な内容は次のとおりです。
<!DOCTYPE html>
はい、それだけです。ただし、場合によっては 1 文字がそれ以上であることも、1 文字がそれ以下であることもありません。その他の内容は変更できません。
それでは、最も単純なソース コード ファイルに doctype 宣言が必要となるルールは何でしょうか?標準によれば、HTML ドキュメントは次のコンテンツ (厳密に順序どおり) で構成されます:
BOM タグ。この BOM タグは U+FEFF である必要があります。
0-n スペースまたはコメント。
DOCTYPE ステートメント。
0-n スペースまたはコメント。
HTML要素。
0-n スペースまたはコメント。
HTML4 とはいくつかの違いがあります。HTML4 の最も単純なソース コード ファイルは次のとおりです:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <title>这里是标题</title>
2 つの違いは明らかです:
HTML5 は DOCTYPE をより単純な <! に変更します。 DOCTYPE html>
、これはすでによく知られています。 <!DOCTYPE html>
,这个已经众所周知了。
在HTML4中多了一个<title>
标签。
这里的重点就是<title>
标签了,关于这个标签,在HTML4.01标准中是这么说的:
Every HTML document must have a TITLE element in the HEAD section.
也即是说,HTML4要求<title>
标签是必须存在的。
而在HTML5的标准中,又是这么说的:
There must be no more than one title element per document.
HTML5中只设定了<title>
标签数量的上限,却没有指明下限,也就是说,没有<title>
的文档已经被视为一个合法的文档了。
对于DOCTYPE,HTML4中设定了6种DOCTYPE,HTML5中将DOCTYPE分为3种,这个在以后的章节中再具体说明。
再回过来看一下文档组成,除去这样并没有多大意义的元素之外,组成的列表中还说明有一个HTML元素,但是最简的源码中却没有这东西。这是因为在HTML的规范中,一直存在“隐式标签”这样的概念,关于隐式标签,大致可以这么解释:
一部分元素,当满足特定的前提条件时,其开始标签或结束标签可以在源码中省略。在这种情况下,被省略的标签称为“隐式标签”。
需要注意的是,此处的省略指的是在源码中省略,而在最终成型的DOM树中,这个标签是存在的,因此才称为隐式标签。因此上面最简的源码结构,在生成DOM树后,其真正的结构是这样的:
<!DOCTYPE html> <html>