zoukankan      html  css  js  c++  java
  • 浏览器CSS兼容

    http://blog.csdn.net/freshlover/article/details/12132801

    1.IE条件注释

         只在IE下生效

          <!--[if IE]>

    	这段文字只在IE浏览器显示
    	<![endif]-->
    	
    	只在IE6下生效
    	<!--[if IE 6]>
    	这段文字只在IE6浏览器显示
    	<![endif]-->
    	
    	只在IE6以上版本生效
    	<!--[if gte IE 6]>
    	这段文字只在IE6以上(包括)版本IE浏览器显示
    	<![endif]-->
    	
    	只在IE8上不生效
    	<!--[if ! IE 8]>
    	这段文字在非IE8浏览器显示
    	<![endif]-->
    	
    	非IE浏览器生效
    	<!--[if !IE]>
    	这段文字只在非IE浏览器显示
    	<![endif]-->

    IE浏览器各版本 CSS hack 对照表

    hack 写法 实例 IE6(S) IE6(Q) IE7(S) IE7(Q) IE8(S) IE8(Q) IE9(S) IE9(Q) IE10(S) IE10(Q)
    * *color 青色 Y Y Y Y N Y N Y N Y
    + +color 绿色 Y Y Y Y N Y N Y N Y
    - -color 黄色 Y Y N N N N N N N N
    _ _color 蓝色 Y Y N Y N Y N Y N N
    # #color 紫色 Y Y Y Y N Y N Y N Y
    color:red 红色 N N N N Y N Y N Y N
    9 color:red9 粉色 N N N N N N Y N Y N
    !important color:blue !important;color:green; 棕色 N N Y N Y N Y N Y Y

    说明:在标准模式中

    • “-″减号是IE6专有的hack
    • “9″ IE6/IE7/IE8/IE9/IE10都生效
    • “″ IE8/IE9/IE10都生效,是IE8/9/10的hack
    • “9″ 只对IE9/IE10生效,是IE9/10的hack
    <script type="text/javascript">
        //alert(document.compatMode);
    </script>
    <style type="text/css">
    body:nth-of-type(1) .iehack{
        color: #F00;/* 对Windows IE9/Firefox 7+/Opera 10+/所有Chrome/Safari的CSS hack ,选择器也适用几乎全部Mobile/Linux/Mac browser*/
    }
    .demo1,.demo2,.demo3,.demo4{
        width:100px;
        height:100px;
    }
    .hack{
    /*demo1 */
    /*demo1 注意顺序,否则IE6/7下可能无法正确显示,导致结果显示为白色背景*/
        background-color:red; /* All browsers */
        background-color:blue !important;/* All browsers but IE6 */
        *background-color:black; /* IE6, IE7 */
        +background-color:yellow;/* IE6, IE7*/
        background-color:gray9; /* IE6, IE7, IE8, IE9, IE10 */
        background-color:purple; /* IE8, IE9, IE10 */
        background-color:orange9;/*IE9, IE10*/
        _background-color:green; /* Only works in IE6 */
        *+background-color:pink; /*  WARNING: Only works in IE7 ? Is it right? */
    }
    
    /*可以通过javascript检测IE10,然后给IE10的<html>标签加上class=”ie10″ 这个类 */
    .ie10 #hack{
        color:red; /* Only works in IE10 */
    }
    
    /*demo2*/
    .iehack{
    /*该demo实例是用于区分标准模式下ie6~ie9和Firefox/Chrome的hack,注意顺序
    IE6显示为:绿色,
    IE7显示为:黑色,
    IE8显示为:红色,
    IE9显示为:蓝色,
    Firefox/Chrome显示为:橘色,
    (本例IE10效果同IE9,Opera最新版效果同IE8)
    */
        background-color:orange;  /* all - for Firefox/Chrome */
        background-color:red;  /* ie 8/9/10/Opera - for ie8/ie10/Opera */
        background-color:blue9;  /* ie 9/10 - for ie9/10 */
        *background-color:black;  /* ie 6/7 - for ie7 */
        _background-color:green;  /* ie 6 - for ie6 */
    }
    
    /*demo3
    实例是用于区分标准模式下ie6~ie9和Firefox/Chrome的hack,注意顺序
    IE6显示为:红色,
    IE7显示为:蓝色,
    IE8显示为:绿色,
    IE9显示为:粉色,
    Firefox/Chrome显示为:橘色,
    (本例IE10效果同IE9,Opera最新版效果也同IE9为粉色)
    
    */
    .element {
        background-color:orange;    /* all IE/FF/CH/OP*/
    }
    .element {
        *background-color: blue;    /* IE6+7, doesn't work in IE8/9 as IE7 */
    }
    .element {
        _background-color: red;     /* IE6 */
    }
    .element {
        background-color: green; /* IE8+9+10  */
    }
    :root .element { background-color:pink; }  /* IE9+10 */
    
    /*demo4*/
    /*
    
    该实例是用于区分标准模式下ie6~ie10和Opera/Firefox/Chrome的hack,本例特别要注意顺序
    IE6显示为:橘色,
    IE7显示为:粉色,
    IE8显示为:黄色,
    IE9显示为:紫色,
    IE10显示为:绿色,
    Firefox显示为:蓝色,
    Opera显示为:黑色,
    Safari/Chrome显示为:灰色,
    
    */
    .hacktest{ 
        background-color:blue;      /* 都识别,此处针对firefox */
        background-color:red9;      /*all ie*/
        background-color:yellow;    /*for IE8/IE9/10 最新版opera也认识*/
        +background-color:pink;        /*for ie6/7*/
        _background-color:orange;       /*for ie6*/
    }
    
    @media screen and (min-0){ 
        .hacktest {background-color:black;}  /*opera*/
    } 
    @media screen and (min-0) { 
        .hacktest { background-color:purple9; }/*  for IE9/IE10  PS:国外有些习惯常写作,根本没考虑Opera也认识的实际 */
    }
    @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { 
       .hacktest { background-color:green; } /* for IE10+ 此写法可以适配到高对比度和默认模式,故可覆盖所有ie10的模式 */
    }
    @media screen and (-webkit-min-device-pixel-ratio:0){ .hacktest {background-color:gray;} }  /*for Chrome/Safari*/
    
    /* #963棕色 :root is for IE9/IE10, 优先级高于@media, 慎用!如果二者合用,必要时在@media样式加入 !important 才能区分IE9和IE10 */
    /*
    :root .hacktest { background-color:#9639; } 
    */
    </style>
     
  • 相关阅读:
    python中的运算符的分类以及使用方法
    python的变量的命名规则以及定义
    C#和Java在重写上的区别
    IIS6 伪静态
    【读书笔记】Linux源码注释
    计算机是如何启动的?
    XSHELL下直接下载文件到本地(Windows)
    [转载]Linux 环境下编译 0.11版本内核 kernel
    虚拟化技术
    CentOS 6.4 编译安装LLVM3.3,Clang和Libc++
  • 原文地址:https://www.cnblogs.com/gameshan/p/4428351.html
Copyright © 2011-2022 走看看