Doctype的作用

时间:2023-11-22 18:18:38

<!DOCTYPE> 声明不是 HTML 标签;它是指示 web 浏览器关于页面使用哪个 HTML 版本进行编写的指令,也就是定义文档类型。

所有的浏览器都需要两种模式:怪异模式和严格模式(也有人叫标准模式)。没有定义doctype就会开启怪异模式,也就是说需要定义<!doctype html>让浏览器在严格模式(标准模式)下渲染页面。IE 6 for Windows/mac, Mozilla, Safari和Opera 都实现了这两种模式,但是IE 6以下版本永远定在了怪异模式。

在 HTML 4.01 中,<!DOCTYPE> 声明引用 DTD,因为 HTML 4.01 基于 SGML。DTD 规定了标记语言的规则,这样浏览器才能正确地呈现内容。

HTML5 不基于 SGML,所以不需要引用 DTD。

<!DOCTYPE> 声明必须是 HTML 文档的第一行,位于 <html> 标签之前。

在 HTML 4.01 中有三种 <!DOCTYPE> 声明:

1.HTML 4.01 Strict

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

2.HTML 4.01 Transitional

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

3.HTML 4.01 Frameset

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd">

在 HTML5 中只有一种:

<!DOCTYPE html>