zoukankan      html  css  js  c++  java
  • 简单CSS hack:区分IE6、IE7、IE8、Firefox、Opera

    方法一:
      跨浏览器的网页设计一直是让人很头疼的问题,这不只是因为浏览器的版本众多,还有一个重要的原因是相同浏览器的不同时期的版本也会有差异, 甚至是在不同操作同台上还会有不同。因此使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的写在后面。
  • 相关阅读:
    vsftp
    数据类型
    第三篇:表相关操作
    第二篇:库相关操作
    第一篇: 初识数据库
    五 python并发编程之IO模型
    四 python并发编程之协程
    Python GIL
    三 python并发编程之多线程-重点
    三 python并发编程之多线程-理论
  • 原文地址:https://www.cnblogs.com/top5/p/1575439.html
Copyright © 2011-2022 走看看