« 上一篇下一篇 »

css_hack常用效果总结

 

截字省略号

1.select { -o-text-overflow:ellipsis; text-overflow:ellipsis; whitewhite-space:nowrapoverflow:hidden; }      

2.这个是在越出长度后会自行的截掉多出部分的文字,并以省略号结尾,很好的一个技术。只是目前Firefox并不支持。    

 

ie7和ie8兼容模式

 <meta http-equiv="X-UA-Compatible"content="IE=7">

 区别IE和非IE浏览器

#tip {   
  1. background:blue/*非IE 背景藍色*/  

  2. background:red \9; /*IE6、IE7、IE8背景紅色*/  

  3. }   

区别IE6,IE7,IE8,FF


#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等)。  

 

区别IE6、IE7、Firefox


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

 区别IE7、Firefox

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

区别IE6、IE7


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

区别IE6、Firefox


#tip {    
background:black; /*Firefox 背景变黑色*/   
_background:orange; /*IE6 背景变橘色*/   
} 
【说明】:因为IE6可以辨识「_」(底线),但是Firefox却不行,因此可以透过这样的差异来区隔Firefox和IE6,有效达成CSS hack。  
 
 
Webkit(Safari和Chrome)
   
    @media screen and (-webkit-min-device-pixel-ratio:0){ 
        .test{ 
            background-color: red;     仅webkit    
        }
    }

 

屏蔽IE浏览器(IE下不显示)

*:lang(zh) select {font:12px !important;} /*FF,OP可见*/  
  1. select:empty {font:12px !important;} /*safari可见*/  

  2. 这里select是选择符,根据情况更换。第二句是MAC上safari浏览器独有的。  

 只有Opera识别

@media all and (min-width0px){ select {……} }   
  1. 针对Opera浏览器做单独的设定。  

以上都是写CSS中的一些HACK,这些都是用来解决局部的兼容性问题,假如希望把兼容性的内容也分离出来,不妨试一下下面的几种过滤器。这些过滤器有的是写在CSS中通过过滤器导入非凡的样式,也有的是写在HTML中的通过条件来链接或是导入需要的补丁样式。
IE5.x的过滤器,只有IE5.x可见
 

@media tty {   
  1. i{content:"\";/*" "*/}} @import 'ie5win.css'; /*";}   

  2. }/* */  

IE的if条件Hack

 
  1. <!--[if IE]> Only IE <![endif]-->   

  2. 所有的IE可识别   

  3. <!--[if IE 5.0]> Only IE 5.0 <![endif]-->   

  4. 只有IE5.0可以识别   

  5. <!--[if gt IE 5.0]> Only IE 5.0 <![endif]-->   

  6. IE5.0包换IE5.5都可以识别   

  7. <!--[if lt IE 6]> Only IE 6- <![endif]-->   

  8. 仅IE6可识别   

  9. <!--[if gte IE 6]> Only IE 6/ <![endif]-->   

  10. IE6以及IE6以下的IE5.x都可识别   

  11. <!--[if lte IE 7]> Only IE 7/- <![endif]-->   

  12. 仅IE7可识别