当我们打开一个正规网站的源代码的时候,都会发现源代码最开始一定是以<!DOCTYPE html 开头的,而这个<!DOCTYPE> 后面有的直接添加了> 而有的还有很长的文字,如
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">
,当然比较主流的网页源代码,比如E维科技源代码都采用HTML5格式,直接以<!DOCTYPE html> 开头。<!DOCTYPE html> 由于不是HTML标签,它只是一条浏览器指令,告诉浏览器编写页面所用的标记的版本,所以不需要成对出现。<!DOCTYPE html> 在任何版本中都对大小写不敏感,不过习惯上写做“<!DOCTYPE html>”,当然为了符合W3C标准,写做“<!doctype html>”也是可以的。
E维科技首页源代码采用HTML5声明+HTML4兼容
DOCTYPE 英文意思是文档类型,也就是HTML的版本类型声明。HTML从最开始没有任何规范经历了比较流行的HTML4,之后进入HTML5时代,每个时期的规范都不一样,比如在较早版本的HTML中不能实现<br>换行 这是因为HTML标签必须成对出现,所以必须要以<br/>来表示。而在HTML4 后期已经很模糊这个概念了,带不带 “/” 结尾都是一样的。而在HTML 5 中已经规定不需要带“/”,直接<br>就可以了。
这样混乱的解释方法,就需要告诉浏览器当前网页HTMl编码采用的版本规范。
在所有 HTML 文档中规定 DOCTYPE 是非常重要的,这样浏览器就能了解预期的文档类型。
HTML 4.01 中的 DOCTYPE 需要对 DTD 进行引用,因为 HTML 4.01 基于 SGML。而 HTML 5 不基于 SGML,因此不需要对 DTD 进行引用,但是需要 doctype 来规范浏览器的行为(让浏览器按照它们应该的方式来运行。)。
HTML 版本声明
HTML 5没有任何文档类型,但是最好避免使用frame框架;XHTML 1.0 规定了三种 XML 文档类型:Strict、Transitional 以及 Frameset;HTML 4.01 规定了三种文档类型:Strict、Transitional 以及 Frameset。
HTML 5 规范声明
表达很简洁,只有一个属性:根元素是 html
<!DOCTYPE html> XHTML 1.0 Strict DTD 严格版
如果您需要干净的标记,免于表现层的混乱,请使用此类型。请与层叠样式表(CSS)配合使用:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
在上面的声明中,声明了文档的根元素是 html,它在公共标识符被定义为 "-//W3C//DTD XHTML 1.0 Strict//EN" 的 DTD 中进行了定义。浏览器将明白如何寻找匹配此公共标识符的 DTD。如果找不到,浏览器将使用公共标识符后面的 URL 作为寻找 DTD 的位置。
XHTML 1.0 Transitional DTD 过渡版
Transitional DTD 可包含 W3C 所期望移入样式表的呈现属性和元素。如果您的读者使用了不支持层叠样式表(CSS)的浏览器以至于您不得不使用 XHTML 的呈现特性时,请使用此类型:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> XHTML 1.0 Frameset DTD 框架版
当您希望使用框架时,请使用此 DTD!
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> HTML4.1 Transitional DTD 过渡版本
Transitional DTD 可包含 W3C 所期望移入样式表的呈现属性和元素。如果您的读者使用了不支持层叠样式表(CSS)的浏览器以至于您不得不使用 HTML 的呈现特性时,请使用此类型:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" " http://www.w3.org/TR/html4/loose.dtd"> HTML4.1 Strict DTD 严格版
如果您需要干净的标记,免于表现层的混乱,请使用此类型。请与层叠样式表(CSS)配合使用:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" " http://www.w3.org/TR/html4/strict.dtd"> HTML 4.01 Frameset DTD 框架文档
Frameset DTD 应当被用于带有框架的文档。除 frameset 元素取代了 body 元素之外,Frameset DTD 等同于 Transitional DTD:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" " http://www.w3.org/TR/html4/frameset.dtd">