前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >document.compatMode的CSS1compat

document.compatMode的CSS1compat

作者头像
deepcc
发布2018-05-16 14:57:24
7030
发布2018-05-16 14:57:24
举报
文章被收录于专栏:deepcc

document.compatMode

BackCompat:标准兼容模式关闭。浏览器宽度:document.body.clientWidth;

CSS1Compat:标准兼容模式开启。 浏览器宽度:document.documentElement.clientWidth。

代码语言:javascript
复制
var d = document,
  dd = d.documentElement,
  db = d.body,
  dc = d.compatMode == 'CSS1Compat',
  dx = dc ? dd: db;

cWidth = dx.clientWidth;

cHeight = dx.clientHeight;

sWidth = dx.scrollWidth;

sHeight = dx.scrollHeight;

sLeft = dx.scrollLeft;

sTop = dx.scrollTop;

在Standars mode中:

元素真正的宽度 = margin-left   +   border-left-width   +   padding-left   + width   +   padding-right   +   border-right-width   +   margin-right;  在Quirks mode中:

width则是元素的实际宽度,内容宽度 = width   -   (margin-left   +   margin-right   +   padding-left   +   padding-right   +   border-left-width   +   border-right-width)

在js中如何判断当前浏览器正在以何种方式解析? document对象有个属性compatMode ,它有两个值: BackCompat     对应quirks mode CSS1Compat     对应strict mode

浏览器的兼容性表

http://www.quirksmode.org/compatibility.html

历史原因:

当早期的浏览器Netscape 4和Explorer 4对css进行解析时,并未遵守W3C标准,这时的解析方式就被我们称之为quirks mode(怪异模式),但随着W3C的标准越来越重要,众多的浏览器开始依照W3C标准解析CSS,仿照W3C标准解析CSS的模式我们叫做strict mode(严格模式)

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2014-04-02 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档