zoukankan      html  css  js  c++  java
  • doctype和Quirks模式

    doctype:

      告诉浏览器使用什么模式去渲染页面,可能会影响页面的css渲染和js代码的执行。

    DTD :为了兼容旧的浏览器渲染方式,将DTD作为参数告诉浏览器使用什么模式渲染页面。始于IE6;

    1、什么是混杂模式、什么是标准模式

      混杂模式是一种向后兼容的解析方式,是实现IE5.5以下版本浏览器的渲染模式。不可取,无兼容性可言。

      标准模式是一种要求严格的DTD,根据web标准去解析页面的模式。

      近标准模式:尽可能遵循最新标准的情况下,兼容部分非标准的代码,如弃用的标签等。

    2、两种模式的区别

    • 盒模型的解析:混合模式盒模型的宽高=内容的宽高;标准模式盒模型的宽高=内容的宽高+padding的宽高+border的宽高。

          混合模式:boxWidth = contentWidth

          标准模式:boxWidth = contentWidth + padding*2 + border*2

      诡异模式下(Quirks模式),IE的宽度和高度包括了padding和border。 

    • 当一个块元素div中包含的内容只有图片时,在标准模式下,不管IE还是标准,在图片底部都有3像素的空白。但在混杂模式下,标准浏览器(Chrome)中div距图片底部默认没有空白。

      行内元素的高度:

          标准模式下:行内元素设置宽高无效;怪异模式下:有效;

      margin:0 auto;设置水平居中:

          标准模式:会使元素水平居中;怪异模式:无效

      text- align:center:

          IE6/7及IE8混杂模式(quirks模式)中可以使块级元素也居中对齐。其他浏览器中,text-align:center仅作用于行内内容上。

        解决这个问题比较好的方式,就是为所有需要相对父容器居中对齐的块级元素设置“margin:0 auto”。但这个方式 IE6/IE7/IE8的混杂模式中不支持,所以还要设置父容器的 "text-align:center;"。

          

    3、判断两种模式

        document.compatMode=="CSS1Compat" //标准模式

        else   //混合模式

  • 相关阅读:
    利用performSelectorInBackground和performSelectorOnMainThread实现多线程刷新UI
    iOS之NSCocoaErrorDomain Code=3840
    iOS之原生地图与高德地图
    iOS之Storyboard References
    iOS之内购
    iOS之上线被拒
    iOS之可拖拽重排的CollectionView
    iOS之内购
    ios专题
    ios专题
  • 原文地址:https://www.cnblogs.com/laojun/p/8251532.html
Copyright © 2011-2022 走看看