zoukankan      html  css  js  c++  java
  • CSS hack IE6、7、8、FF浏览器兼容

    方法一:
       跨 浏览器的网页设计一直是让人很头疼的问题,这不只是因为浏览器的版本众多,还有一个重要的原因是相同浏览器的不同时期的 版本也会有差异, 甚至是在不同操作同台上还会有不同。因此使CSS hack技术进行浏览器区分是实现跨浏览器访问一个好方法。CSS Hack技术有很多,具体可以查看:

    本文据说的主要是通过“.”,“>”,“*”,“_”来区分。以下是本人对这四种符号的测 试结果:
    ———————IE6——     IE7——IE8——FF2——FF3—     Opera9.5
    >property——     Y——     Y——     Y——     N——     N——     N
    .property——     Y——     Y——     Y——     N——     N——     N
    *property——     Y——     Y——     Y——     N——     N——     N
    _property——     Y——     N——     N——     N——     N——     N

    我 们可以看到>property、.property、*property在各浏览器中的表现是一致的,只有_property在IE6和IE7、 IE8中有所区别。另外还要注意的,IE6是不支持!important的,而其他几款浏览器都识别。

    举例:
    要对想同的文字在不 同浏览器中显示不同的颜色可以使用:
    color :brown !important ;   /*用于Opera、Firefox2、Firefox3等现代浏览器*/   
    1. > color : green !important ;     /*IE7、IE8可以识别该规则,因此它覆盖掉了上一条规则*/   
    2. color : red ;   /*所有浏览器都可以识 别,但是以上两条规则有!important,所以这条规则被忽视;只有IE6认识并覆盖掉上两条规则*/   
    因 此这就实现了跨浏览器的表现问题。_property和*property也是一样的。对于_property来说,只有IE6才能识别,因此可以用于单 独对IE6的设置中。

    不过这里要注意书写的顺序:现在浏览器的写法要写在最前面,IE6的写法要写在最后面用于覆盖,其他浏览器写在中 间。
    方法二:
    其 实主要是浏览器:IE6/IE7/firefox下,各个对CSS代码的解释有区别,下边转载一篇HACK的文章,相当实用。

    区别IE6 FF :           background:orange ;* background:blue ;

    区别IE6 IE7 :          background:green !important ;background:blue ;

    区别IE7 与 FF:           background:orange ; * background:green ;

    区别FF /IE7 /IE6 :       background:orange ;* background:green !important ;* background:blue ;

    注:IE都能识别* 标准浏览器(如FF)不能识别*
    IE6 能识别* ,但不能识别 !important
    IE7能识别* ,也能 识别!important
    FF不能识别* ,但能 识别!important

    另外再补充一个,下划线"_ ",
    IE6支持下划线,IE7和firefox均不支持下划 线。(推荐.我这只有这个有效!)

    于是大家还可以这样来区分IE6 IE7 firefox
    : background:orange ;* background:green ;_ background:blue ;


    * html   p {color:#f00;}          支持 IE6        不支持FF IE7 IE8b

    *+html p {color:#f00;}          支持 IE7 IE8b        不支持FF IE6

    p {*color:#f00;}          支持 IE7 IE6        不支持FF IE8

    注:不管是什么方法,书写的顺序都是firefox的写在前面,IE7的写在中 间,IE6的写在后面。

    ===========================================================================

    1.区别IE和非IE浏览器

    #tip {
    background
    :blue; /*非IE 背景藍色*/
    background
    :red \9; /*IE6、IE7、IE8背景紅色*/
    }

    2.区别IE6,IE7,IE8,FF
    【区别符号】:「\9」、「*」、「_」
    【示例】:
    #tip {
    background
    :blue; /*Firefox 背景变蓝色*/
    background
    :red \9; /*IE8 背景变红色*/
    *background
    :black; /*IE7 背景变黑色*/
    _background
    :orange; /*IE6 背景变橘色*/
    }
    【说明】:因为IE系列浏览器可读「\9」,而IE6和IE7可读「*」(米字号),另外IE6可辨识「_」(底线),因此可以依照顺序写下来,就会让浏 览器正确的读取到自己看得懂得CSS语法,所以就可以有效区分IE各版本和非IE浏览器(像是Firefox、Opera、Google Chrome、Safari等)。

    3.区别IE6、IE7、Firefox (方法 1)
    【区别符号】:「*」、「_」
    【示例】:
    #tip {
    background
    :blue; /*Firefox背景变蓝色*/
    *background
    :black; /*IE7 背景变黑色*/
    _background
    :orange; /*IE6 背景变橘色*/
    }
    【说明】:IE7和IE6可读「*」(米字号),IE6又可以读「_」(底线),但是IE7却无法读取「_」,至于Firefox(非IE浏览器)则完全 无法辨识「*」和「_」,因此就可以透过这样的差异性来区分IE6、IE7、Firefox

    4.区别IE6、IE7、Firefox (方法 2)
    【区别符号】:「*」、「!important」
    【示例】:
    #tip {
    background
    :blue; /*Firefox 背景变蓝色*/
    *background
    :green !important; /*IE7 背景变绿色*/
    *background
    :orange; /*IE6 背景变橘色*/
    }
    【说明】:IE7可以辨识「*」和「!important」,但是IE6只可以辨识「*」,却无法辨识「!important」,至于Firefox可以 读取「!important」但不能辨识「*」因此可以透过这样的差异来有效区隔IE6、IE7、Firefox。

    5.区别IE7、Firefox
    【区别符号】:「*」、「!important」
    【示例】:
    #tip {
    background
    :blue; /*Firefox 背景变蓝色*/
    *background
    :green !important; /*IE7 背景变绿色*/
    }
    【说明】:因为Firefox可以辨识「!important」但却无法辨识「*」,而IE7则可以同时看懂「*」、「!important」,因此可以 两个辨识符号来区隔IE7和Firefox。

    6.区别IE6、IE7 (方法 1)
    【区别符号】:「*」、「_」
    【示例】:
    #tip {
    *background
    :black; /*IE7 背景变黑色*/
    _background
    :orange; /*IE6 背景变橘色*/
    }
    【说明】:IE7和IE6都可以辨识「*」(米字号),但IE6可以辨识「_」(底线),IE7却无法辨识,透过IE7无法读取「_」的特性就能轻鬆区隔 IE6和IE7之间的差异。

    7.区别IE6、IE7 (方法 2)
    【区别符号】:「!important」
    【示例】:
    #tip {
    background
    :black !important; /*IE7 背景变黑色*/
    background
    :orange; /*IE6 背景变橘色*/
    }
    【说明】:因为IE7可读取「!important;」但IE6却不行,而CSS的读取步骤是从上到下,因此IE6读取时因无法辨识 「!important」而直接跳到下一行读取CSS,所以背景色会呈现橘色。

    8.区别IE6、Firefox
    【区别符号】:「_」
    【示例】:
    #tip {
    background
    :black; /*Firefox 背景变黑色*/
    _background
    :orange; /*IE6 背景变橘色*/
    }
    【说明】:因为IE6可以辨识「_」(底线),但是Firefox却不行,因此可以透过这样的差异来区隔Firefox和IE6,有效达成CSS hack。
    来自: http://hi.baidu.com/lzxassj/blog/item/c78935fbb01f582f4f4aeaee.html
  • 相关阅读:
    Apache Spark 2.2.0 中文文档
    Apache Spark 2.2.0 中文文档
    Apache Spark 2.2.0 中文文档
    Apache Spark 2.2.0 中文文档
    Apache Spark 2.2.0 中文文档
    Apache Spark RDD(Resilient Distributed Datasets)论文
    Apache Spark 2.2.0 中文文档
    Apache Spark 2.2.0 中文文档
    【机器学习实战】第10章 K-Means(K-均值)聚类算法
    [译]flexbox全揭秘
  • 原文地址:https://www.cnblogs.com/linyijia/p/1805119.html
Copyright © 2011-2022 走看看