博客
关于我
严格模式、混杂模式与怪异模式
阅读量:351 次
发布时间:2019-03-04

本文共 1092 字,大约阅读时间需要 3 分钟。

Doctype作用?严格模式、混杂模式和怪异模式如何区分?它们有何意义?

由于历史的原因,不同浏览器对页面的渲染是不同的,甚至同一浏览器的不同版本也是不同的。在W3C标准出台之前,不同的浏览器在页面的渲染上没有同一的规范,产生了差异,即Quirks mode(怪异模式或兼容模式);当W3C标准出台之后,不同浏览器对页面的渲染有了统一的标准,即Strict mode(标准模式或严格模式);这就是两者之间的区别。

W3C标准推出前,旧的页面都是根据旧的渲染方式对页面进行渲染的,因此在W3C标准推出后为了保证旧页面的正常显示,保持浏览器的兼容性,这样浏览器上就产生了能够兼容W3C标准渲染的严格模式和保证旧页面显示的怪异模式的标准兼容模式。

如果XHTML文档包含形式完整的DOCTYPE,那么它一般以标准模式呈现。对于HTML 4.01文档,包含严格DTD的DOCTYPE常常导致页面以标准模式呈现。包含过渡DTD和URI的DOCTYPE也导致页面以标准模式呈现,但是有过渡DTD而没有URI会导致页面以混杂模式呈现。DOCTYPE不存在或形式不正确会导致HTML和XHTML文档以混杂模式呈现。

1、doctype的作用:

    声明位于文档 的最前面,告知浏览器的解析器,用什么文档类型、规范来解析这个文档。

注意:

1).规范是指W3C发布的文档类型定义(DTD)中的规则。

2).三种DTD类型:严格、过渡和基于框架的HTML版本。

2、严格模式、混杂模式和怪异模式的区分

    1)严格模式:严格模式的排版和JS运作模式是以该浏览器支持的最高标准运行

    2)混杂模式:混杂模式的页面以宽松的向后兼容的方式显示;模拟老的浏览器的行为以防止站点无法工作。

    3)怪异模式:怪异模式则是使用浏览器自己的方式来解析执行代码。

3、它们的意义

  Dcotype不存在或者不正确会导致文档以混杂模式呈现。

 

js判断是哪种模式

1.作用:表明当前文档的渲染模式是还是"标准模式"

2.语法:

mode = document.compatMode

值:

  • 如果文档处于“混杂模式”,则该属性值为"BackCompat"
  • 如果文档处于“标准模式”或者“准标准模式(almost standards mode)”,则该属性为"CSS1Compat"

 例子1:

if (document.compatMode == "BackCompat") {  // 渲染模式为混杂模式}else if(document.compatMode == "CSS1Compat"){    //渲染模式为标准模式}

实际应用

 

转载地址:http://jzxr.baihongyu.com/

你可能感兴趣的文章
缓冲区溢出实例(一)–Windows
查看>>
powershell渗透-信息收集命令
查看>>
KMP算法详解
查看>>
Badboy录制脚本时,提示脚本错误的解决方法
查看>>
PHP一句话木马小总结与SQL语句写一句话木马
查看>>
Web 安全之内容安全策略(Content-Security-Policy,CSP)详解
查看>>
单向链表
查看>>
堆与堆排序
查看>>
关于计数排序
查看>>
使用 C# 9 的records作为强类型ID - 初次使用
查看>>
CentOS Too Many Open Files 解决
查看>>
移除 DevExpress 的 XtraForm 标题文字阴影
查看>>
【进阶之路】并发编程(三)-非阻塞同步机制
查看>>
分布式图数据库 Nebula Graph 中的集群快照实践
查看>>
Python3获取新浪微博内容乱码问题
查看>>
详细解读Jquery各Ajax函数:$.get(),$.post(),$.ajax(),$.getJSON()
查看>>
移动开发中单页异步加载所有列表项
查看>>
Newbe.Claptrap 框架入门,第一步 —— 开发环境准备
查看>>
最大子序列和问题
查看>>
《机器学习实战(基于scikit-learn和TensorFlow)》第二章内容的学习心得
查看>>