每个web开发者都清楚在写html时需要定义文档类型,文档类型定义错误或者是没有定义,浏览器在渲染时会出发怪异模式。下面是W3c标准中规定的几种文档类型的定义方法:
HTML 5
1
|
<!doctype html> |
这是html5的文档定义方法,这种定义方法可以使所有浏览器都按严格模式来渲染。
HTML 4.01 严格模式
1
|
<!doctype html public "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> |
这个DTD废除了如下标签<applet>,<basefont>,<dir>,<dir>,<font>,<iframe>,<menu>,<noframes>,<s>,<strike>,<u>(不包括html5新增标签)
HTML 4.01 过度模式
1
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> |
这个DTD包含所有html标签,除了<frameset>,<frame>以及html5新增标签
HTML 4.01 框架模式
1
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> |
Frameset DTD 应当被用于带有框架的文档。除 frameset 元素取代了 body 元素之外,Frameset DTD 等同于 Transitional DTD:
XHTML 1.0 严格模式
1
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> |
XHTML 1.0 过度模式
1
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
XHTML1.0框架模式
1
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> |
XHTML 1.1
1
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> |
总结:
严格模式(strict)不包括样式性标签,如:<font>,<s>等
过度模式(transitional)包含所有标签,除了<frameset>,<frame>之外
框架模式(frameset)和过度模式(transitional)相同,但是允许使用框架集的内容,即标签<frameset>,<frame>
文章出自前端小窝