DOCTYPE声明的作用,常见问题

来源:互联网 发布:福布斯网络作家富豪榜 编辑:程序博客网 时间:2024/05/21 19:35

前言:

大家都知道每一个HTML文件的顶部都有doctype声明,这里就介绍一下这个doctype是什么?有什么用?doctype的类型有哪些?不同类型的区别?

Doctype是什么,有什么用?

    Doctype是 DocumentType(文档类型)的缩写,出现在html文件的第一行, 在Web设计中用来说明你用的XHTML或者HTML是什么版本; 要建立符合标准的XHTML网页,DOCTYPE声明是必不可少的关键组成部分;除非你的XHTML确定了一个正确的DOCTYPE,否则你的标识和CSS都不会生效。

DOCTYPE 类型有哪些?

    首先需要了解html4+与xhtml 1+基于SGML(通用标记语言),需要对DTD(文档类型定义)进行引用,才能告知浏览器文档所使用的文档类型。所以你通常会见到一些网站的doctype很长,例如这个使用XHTML标准开发的网站:

<!DOCTYPEhtml PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

后面的PUBLIC部分就是DTD(文档定义类型)

XHTML1.0提供了3中DTD声明的方式:

* 过渡的(Transitional):要求非常宽松的DTD,它允许你继续使用HTML4.01的标识(但是要符合xhtml的写法),完整代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


* 严格的(Strict):要求严格的DTD,你不能使用任何表现层的标识和属性,例如<br>,完整代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML1.0 Strict//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">


* 框架的(Frameset):专门针对框架页面设计使用的DTD,如果你的页面中包含有框架,需要采用这种DTD,完整代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML1.0 Frameset//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

 

如何选择DOCTYPE?

    理想情况当然是严格的DTD,但对于我们大多数刚接触web标准的设计师来说,过渡的DTD(XHTML 1.0 Transitional)是目前理想选择。因为这种DTD还允许我们使用表现层的标识、元素和属性,也比较容易通过W3C的代码校验。

HTML5 为什么只要写<!DOCTYPE HTML>?

    HTML5不基于SGML,因此不需要对DTD进行引用,但是任然需要DOCTYPE来规范浏览器的行为(让浏览器按照标准模式(浏览器最高标准模式)运行)。

DOCTYPE不存在或者错误

无法识别HTML文档,浏览器会强制以兼容模式(怪异模式或松散呈现模式)解析渲染改文档,H5网页的HTML5的标签将无法正常工作。

 

 参考资料:

http://www.divcss5.com/html/h22.shtml

https://hsivonen.fi/doctype/

http://www.jb51.net/web/34217.html

原创粉丝点击