• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >html5 > DOCTYPE与浏览器渲染介绍

DOCTYPE与浏览器渲染介绍

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-03

本文主要包含Firefox,DOCTYPE,webkit等相关知识,匿名希望在学习及工作中可以帮助到您
<html> <head></head> <body> <script> document.write(document.compatMode); </script> </body> </html>

这个页面在所有的浏览器中均返回一致的结果,页面上打印出了“BackCompat”。 document.compatMode 属性最初由微软在 IE 中创造出来,这是一个只读的属性,返回一个字符串,只可能存在两种返回值:

  • BackCompat:标准兼容模式(Standards-compliant mode)未开启;

  • CSS1Compat:标准兼容模式已开启。

其实这里所谓的标准兼容模式未开启即“混杂模式”(又叫怪异模式,Quirks mode),标准兼容模式已开启即“标准模式”(又叫严格模式,Standards mode 或者 Strict mode)。 所以前面那个测试样例中,没有书写 DOCTYPE 的 HTML 文档在所有浏览器中均会以混杂模式进行渲染和解析。

注:document.compatMode 在 MSDN 中的介绍:compatMode Property

究竟为何浏览器要制作这么一个“开关”。微软开发的 IE 系列浏览器中寿命最长的 IE6 伴随 Windows XP 诞生。相比上一个版本 IE5.5,IE6 确实有着许多重大的改进,其中对于页面渲染而言最大的变化就在于 IE6 支持了部分 CSS1 中的特性。例如,为一个块级元素设定宽度及高度时,不再作用于 border 外围,而是如 W3C 规范中所描述的仅仅是元素内容之上。这一点和 IE5.5 差别巨大。为了保证那些 90 年代后期的基于 IE6 之前版本开发的页面能够正常显示,即保证浏览器有向后兼容性,此“开关”诞生,微软试图通过对 DOCTYPE 的判断来决定浏览器采取何种模式工作,即是 IE6 还是 IE5.5 的问题。所以从 document.compatMode 返回的字符串值中也可以看出来,BackCompat 代表了向后兼容(即 IE5.5),CSS1Compat 代表了对 CSS1 规范的兼容(即 IE6)。由此,浏览器的工作模式被分为了混杂模式及标准模式。

值得注意的是,IE 的版本号一路从 6.0 升至了目前的 9.0,但升级仅限于标准模式。对于混杂模式,IE 的版本号永久的冻结在 5.5,这也算是为了向后兼容的巨大牺牲。也就是说即使我们使用着最新最高级的 IE9,但若我们不书写 DOCTYPE 或者使用了能够触发混杂模式的 DOCTYPE,那我们所面对的浏览器仍相当于是那个十几年前的老古董 IE5.5。而其他那些浏览器的混杂模式和标准模式之间却没有想 IE 中这么大的差别。

注:IE6 增强的 CSS:CSS Enhancements in Internet Explorer 6

近似标准模式

近似标准模式(Almost Standards Mode)从字面意思上看与标准模式非常类似,但确实有小的差别。主要体现在对于表格单元格内垂直方向布局渲染差异。IE8 开始、Firefox、Chrome、Safari、Opera 7.5 开始,这些浏览器的标准模式更加严格的遵循了 CSS2.1 规范,故对于在目前看来不太“标准”的以前的标准模式,被赋予了“近似标准模式”的名字。但是在较早的 IE6 IE7 以及 Opera 7.5 之前版本中,浏览器无法严格遵循 CSS2.1 规范,故对于它们来说没有这个近似标准模式,也可以理解为它们的近似标准模式就是标准模式。

到目前为止,可以看到各浏览器主要包含了三种模式。在 HTML5 草案中,更加明确的规定了模式的定义:

传统名称HTML5 草案名称document.compatMode 返回值
standards mode 或者 strict modeno-quirks modeCSS1Compat
almost standards modelimited-quirks modeCSS1Compat

您可能想查找下面的文章:

  • 解决Firefox下不支持outerHTML问题代码分享
  • H5新标签浏览器的兼容问题
  • 关于老版本的浏览器不兼容H5和C3的处理方法
  • HTML5 video 实现浏览器兼容的方法
  • html5中设置或返回浏览器应当显示标准的音视频控件的属性controls
  • html5中浏览器是否能播放指定的音频/视频类型的方法canPlayType()
  • 通过手机浏览器打开APP或者跳转到下载页面的实现
  • DOCTYPE与浏览器渲染介绍
  • 将数据库从服务器移到浏览器--indexedDB基本操作封装
  • Flash在苹果、微软、火狐的围剿下生存期还有几年?有没有完善的替代方案?

相关文章

  • 2018-12-03HTML5标记省略 语法规则
  • 2018-12-03html5 表单、select 下拉、textarea多行文本的介绍
  • 2018-12-03HTML5的Canvas实现绘制曲线的方法
  • 2018-12-03HTML5 canvas绘制的玫瑰花效果_html5教程技巧
  • 2018-12-03HTML5实现预览本地图片
  • 2018-12-03分段式基于SVG文字超酷创意动画特效
  • 2018-12-03用HTML5 实现橡皮擦的涂抹效果的教程_html5教程技巧
  • 2017-08-06HTML5之SVG 2D入门2—图形绘制(基本形状)介绍及使用
  • 2018-12-03通过KineticJS使用SVG路径资源实现世界地图的效果
  • 2018-12-03教你一个快速建站的技巧

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • 使用 HTML5 Canvas 制作水波纹效果点击图片就会触发
    • HTML5 组件Canvas实现电子钟的图文代码详情介绍
    • HTML5 Canvas 图形组合是如何实现的?附代码
    • 简单html5代码获取地理位置
    • html5 main标签怎么居中?main标签的居中实例介绍
    • HTML5边玩边学(2)基础绘图实现方法
    • HTML5 window/iframe跨域传递消息 API介绍_html5教程技巧
    • html5中在可拖动元素或选取的文本正在拖动到放置目标时触发的事件ondragover
    • html5游戏开发-零基础开发RPG游戏-开源讲座(三)-卷轴&对话实现
    • HTML5中对accesskey属性的解释与规定

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有