• 技术文章 >web前端 >js教程

    document.compatMode的CSS1compat使用介绍_javascript技巧

    2016-05-16 16:53:36原创866
    document.compatMode

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

    CSS1Compat:标准兼容模式开启。 浏览器宽度:document.documentElement.clientWidth。
    复制代码 代码如下:

    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(严格模式)
    firefly
    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:document compatMode
    上一篇:javascript写的一个模拟阅读小说的程序_javascript技巧 下一篇:js 显示base64编码的二进制流网页图片_javascript技巧
    Web大前端开发直播班

    相关文章推荐

    • Angular项目如何上线?结合nginx来聊聊上线流程!• 什么是流(Stream)?如何理解Nodejs中的流• 一文聊聊Angular中的生命周期• 什么是管道?浅析Angular中的管道(PIPE)• 值得了解的几个实用JavaScript优化小技巧

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网