html的doctype作用?严格模式与混杂模式如何区分?它们有何意义
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了html的doctype作用?严格模式与混杂模式如何区分?它们有何意义相关的知识,希望对你有一定的参考价值。
DOCTYPE(是Document Type文档类型的简写)是一组机器可读的规则,它们指示(X)HTML文档中允许有什么,不允许有什么,DOCTYPE正是用来告诉浏览器使用哪种DTD,一般放在(X)HTML文档开头声明)用以告诉其他人这个文档的类型风格严格模式: 浏览器以最高标准呈现页面。混杂模式: 以一种比较宽松的向后兼容的方式呈现页面。(混杂模式通常模拟来浏览器的行为以网址老站点无法工作。)
触发严格模式
触发严格模式很简单,就是正常的建立网页,声明正确的DTD,便是严格模式。
触发混杂模式
而混杂模式的触发可以通过在HTML文档开始不声明DTD,或者在DOCTYPE前加入XML声明l来实现。 参考技术A
作用是告诉浏览器 我的html使用的那个版本的html协议写的 让浏览器按照声明的协议执行
浏览器会认为他是html4.01
<!DOCTYPE html>
这是html5本回答被提问者和网友采纳
如何理解DocType? 什么是严格模式与混杂模式?如何触发这两种模式?
1.Doctype声明位于文档中的最前面的位置,处于标签之前,此标签可告知浏览器文档使用哪种 HTML 或 XHTML 规范,该标签可声明三种DTD 类型,分别表示严格版本、过渡版本以及基于框架的 HTML 文档。
2.当浏览器厂商开始创建与标准兼容的浏览器时,为了确保向后兼容性,他们把浏览器的工作模式(渲染模式)分为标准模式和混杂模式。在标准模式中,浏览器根据规范呈现页面;在混杂模式中,页面以一种比较宽松的向后兼容的方式显示,混杂模式通常模拟老式浏览器的行为以防止老站点无法工作。
3.如何触发这两种模式?
1)加入xml头部声明,可以触发IE浏览器的Quirks mode怪异模式。触发之后,浏览器解析方式就和IE5.5一样,拥有IE5.5一样的bug和其他问题,行为(Javascript)也是如此。
2)触发IE6的混杂模式:在XHTML的DOCTYPE前加入XML声明
<?xml version="1.0" encoding="utf-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">。
3)触发IE7的混杂模式:在XML声明和XHTML的DOCTYPE之间,加入HTML注释<?xml version="1.0" encoding="utf-8"?><!-- ... and keep IE7 in quirks mode --><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">。
4)IE6和IE7都可以触发的:在HTML4.01的DOCTYPE文档头部,加入HTML注释<!-- quirks mode --> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">。
5)在页面顶部加 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> ,将触发"怪异模式"。
6)没有使用DTD声明或者使用HTML4以下(不包括HTML4)的DTD声明时,基本上所有的浏览器都是使用quirks mode呈现。
以上是关于html的doctype作用?严格模式与混杂模式如何区分?它们有何意义的主要内容,如果未能解决你的问题,请参考以下文章
Doctype作用?严格模式与混杂模式如何区分?它们有何意义
Doctype作用?严格模式与混杂模式如何区分?它们有何差异?
DOCTYPE声明的作用是什么?严格模式与混杂模式如何区分?
Doctype作用?严格模式与混杂模式如何区分?它们有何意义?