什么是<!DOCTYPE>?
<!DOCTYPE> 声明不是一个 HTML 标签;它是用来告知 Web 浏览器页面使用了哪种 HTML 版本。
<!DOCTYPE> 声明位于文档中的最前面的位置,处于 <html> 标签之前,<!DOCTYPE>声明告知浏览器的解析器用什么文档标准解析这个文档(标准模式)。若声明错误或未声明会导致文档以兼容模式/混杂模式呈现。
<!DOCTYPE> 标签没有结束标签。<!DOCTYPE> 声明不区分大小写。总是先给 HTML 文档添加 <!DOCTYPE> 声明,确保浏览器能够预先知道文档类型。
标准模式与兼容模式
若文档为标准模式,则该文档的排版与JS运作模式都是以该浏览器支持的最高标准运行;
兼容模式中,页面以宽松的向后兼容的方式显示,模拟老式浏览器的行为以防止站点无法工作。
html4.01与html5中的<!DOCTYPE>
在html4.01中,<!DOCTYPE>声明需要引用DTD(文档类型声明),因为它是基于SGML(Standard Generalized Markup Language 标准通用标记语言),DTD 指定了标记语言的规则,确保了浏览器能够正确的渲染内容。html5不基于SGML因此不需要引用DTD。
HTML 5 只有一种<!DOCTYPE> 声明:
HTML5
<!DOCTYPE html>
HTML 4.01 规定了三种不同的 <!DOCTYPE> 声明,分别是:Strict、Transitional 和 Frameset
HTML 4.01 Strict
不允许使用表现性、废弃元素(如font)以及框架集(如frameset)。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
HTML 4.01 Transitional
允许使用表现性、废弃元素(如font),不允许使用框架集(如frameset)。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
HTML 4.01 Frameset
允许表现性元素,废气元素以及框架集。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
其他常见的DOCTYPE 声明
XHTML1.0 Strict
不允许使用表现性、废弃元素(如font)以及框架集(如frameset),文档必须是结构良好的XML文档。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
XHTML1.0 Transitional
允许使用表现性、废弃元素(如font),不允许使用框架集(如frameset),文档必须是结构良好的XML文档。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
XHTML 1.0 Frameset
允许表现性元素,废气元素以及框架集,文档必须是结构良好的XML文档。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
XHTML 1.1
不允许使用表现性、废弃元素(如font)以及框架集(如frameset),文档必须是结构良好的XML文档,但是允许添加模块(例如为东亚语言提供 ruby 支持)。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
HTML 元素和有效 DOCTYPES
以下链接中的表格列出了所有的 HTML5/HTML 4.01/XHTML 元素,以及它们会出现在什么文档类型 (!DOCTYPE) 中,效果如图。
链接:http://www.runoob.com/tags/html-elementsdoctypes.html
文章参考资料:http://www.runoob.com/tags/tag-doctype.html
转载请注明地址:丝瓜 » HTML <!DOCTYPE> 声明详解