mellhtml5⽂档结构是什么意思,HTML5⽂档结构标准
either是什么意思
说起HTML的结构,很多⼈都能说得头头是道,⼀般来说答案可能是这样的:
英语议论文模板
⼀个DOCTYPE,⼀个html,⾥⾯有head和body元素。
这当然不能说是不正确的,但是如果问到⼀个最⼩的HTML源⽂件必须有哪⼀些东西的话,恐怕很少有⼈能正确地做出回答。
先来回答⼀下这个问题,⼀个最简的HTML5源码⽂件需要的内容如下:法文
是的,就这样,⼀个字符不多,⼀个字符不少,除了⼤⼩写可任意变化外,其他的任何内容都是不能变动的。
那么究竟是怎么样的规则,导致⼀个最简的源码⽂件必须有doctype声明呢?根据标准,⼀个HTML⽂档有如下内容组成(严格按照顺序):
⼀个BOM标记,且这个BOM标记必须为U+FEFF。
0-n个空格或注释。
高中数学课本DOCTYPE声明。
0-n个空格或注释。
⼀个HTML元素。
kuso是什么意思
0-n个空格或注释。
这⾥存在着⼀些和HTML4的不同,⼀个HTML4的最简源码⽂件是这样的:
/p>
"www.w3/TR/html4/loo.dtd">
敌人的英文这⾥是标题
两者的区别是显⽽易见的:
HTML5把DOCTYPE修改为更简单的,这个已经众所周知了。
递交英文在HTML4中多了⼀个
标签。
这⾥的重点就是
标签了,关于这个标签,在HTML4.01标准中是这么说的:
Every HTML document must have a TITLE element in the HEAD ction.
也即是说,HTML4要求
标签是必须存在的。
⽽在HTML5的标准中,⼜是这么说的:
There must be no more than one title element per document.
HTML5中只设定了
标签数量的上限,却没有指明下限,也就是说,没有的⽂档已经被视为⼀个合法的⽂档了。
对于DOCTYPE,HTML4中设定了6种DOCTYPE,HTML5中将DOCTYPE分为3种,这个在以后的章节中再具体说明。
再回过来看⼀下⽂档组成,除去0-n个空格或注释这样并没有多⼤意义的元素之外,组成的列表中还说明有⼀个HTML元素,但是最简的源码中却没有这东西。这是因为在HTML的规范中,⼀直存在“隐式标签”这样的概念,关于隐式标签,⼤致可以这么解释:
⼀部分元素,当满⾜特定的前提条件时,其开始标签或结束标签可以在源码中省略。在这种情况下,被省略的标签称为“隐式标签”。
需要注意的是,此处的省略指的是在源码中省略,⽽在最终成型的DOM树中,这个标签是存在的,因此才称为隐式标签。因此上⾯最简的源码结构,在⽣成DOM树后,其真正的结构是这样的:
最后,再总结⼀下XHTML中的⼀些规范:
iso是什么意思因为是XML,所以MIME type不能是text/html了,text/xml、application/xml、application/xml+html都是⽐较好的选择。
因为是XML,必须有根元素,根元素为,即的开始和结束标签不能省略了。
因为是XML,所有元素只要有了开始标签,就不能没有结束标签,或者⾃闭合。
装饰设计培训因为是XML,所有元素都得严格遵守⼤⼩写,元素名称必须为⼩写。
因为是XML,⽂档变得严格了很多,也因为是XML,其可读性和规范性提⾼了不少。但最终,我们始终要在HTML的宽容性和XML的规范性之间找到最佳的平衡点,⼀味地追求极端始终是⼀个错误。