一个DOCTYPE,一个html,里面有head和body元素。这当然不能说是不正确的,但是如果问到一个最小的HTML源文件必须有哪一些东西的话,恐怕很少有人能正确地做出回答。
先来回答一下这个问题,一个最简的HTML5源码文件需要的内容如下:
<!DOCTYPE html>
是的,就这样,一个字符不多,一个字符不少,除了大小写可任意变化外,其他的任何内容都是不能变动的。
那么究竟是怎么样的规则,导致一个最简的源码文件必须有doctype声明呢?根据标准,一个HTML文档有如下内容组成(严格按照顺序):
- 一个BOM标记,且这个BOM标记必须为U+FEFF。
- 0-n个空格或注释。
- DOCTYPE声明。
- 0-n个空格或注释。
- 一个HTML元素。
- 0-n个空格或注释。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<title>这里是标题</title>
两者的区别是显而易见的:
- HTML5把DOCTYPE修改为更简单的
<!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 _disibledevent=> <!DOCTYPE html>
<html>
<head></head>
<body></body>
</html>
最后,再总结一下XHTML中的一些规范:
因为是XML,文档变得严格了很多,也因为是XML,其可读性和规范性提高了不少。但最终,我们始终要在HTML的宽容性和XML的规范性之间找到最佳的平衡点,一味地追求极端始终是一个错误。
- 因为是XML,所以为了表示这是一个HTML文档,必须有一个命名空间,其值为
http://www.w3.org/1999/xhtml
。- 因为是XML,所以MIME type不能是
text/html
了,text/xml
、application/xml
、application/xml+html
都是比较好的选择。- 因为是XML,必须有根元素,根元素为
<html>
,即<html>
的开始和结束标签不能省略了。- 因为是XML,所有元素只要有了开始标签,就不能没有结束标签,或者自闭合。
- 因为是XML,所有元素都得严格遵守大小写,元素名称必须为小写。
延伸阅读
最新评论