- Doctype是什么?作用是?
Doctype全程为document type(文档类型)是一种声明(DTD字符),位于<html>
标签之前,用于声明html类型并告知浏览器应该用何种文档类型与规范来解析这个文档 - Doctype的风格与浏览器相对应的模式
Doctype目前有三种风格
1.过渡(transitional):目的是帮助开发人员从老版本迁移到新版本。
如果发送具有正确的 MIME 类型的 XHTML 文档,理解 XML 的浏览器将 不显示无效的页面。
2.严格(strict)
3.Frameset(框架的)
浏览器模式
标准/严格模式:在标准模式中,浏览器根据规范呈现页面
混杂模式:页面以一种比较宽松的向后兼容的方式显示,模拟老式浏览器的行为以防止站点无法工作。
浏览器会根据Doctype是否存在以及使用何种DTD来选择呈现方式
DOCTYPE 切换
对于 HTML 4.01 文档,
包含严格 DTD 的 DOCTYPE 常常导致页面以标准模式呈现。
包含过度 DTD 和 URI 的 DOCTYPE 也导致页面以标准模式呈现。
但是有过度 DTD 而没有 URI 会导致页面以混杂模式呈现。
DOCTYPE 不存在或形式不正确会导致 HTML 和 XHTML 文档以混杂模式呈现。
总结:浏览器会根据位于顶部的doctype声明是否存在以及选用何种风格来决定是以标准模式还是混杂模式来渲染呈现页面
补充
Html5的声明方式 <!DOCTYPE html>
(目前只是单纯的告诉浏览器应该使用W3C的标准模式渲染而非怪异模式)
Xhtml4.01声明方式
过渡(transitional)
<!DOCTYPE html PUBLIC"-//W3C//DTD XHTML1.0 Transtion//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
严格(strict)
<!DOCTYPE html PUBLIC"-//W3C//DTD XHTML1.0 Transtion//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
Frameset(框架的)
<!DOCTYPE html PUBLIC"-//W3C//DTD XHTML1.0 Transtion//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-framesett.dtd">