`
zbm2001
  • 浏览: 15830 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

目前主流浏览器CSS Hack 包括:ie, firefox, safari/chrome, opera

阅读更多
部分参考:http://leeiio.me/css-hack-for-firefox-opera-safari-ie/

<p id="opera">我来自 Opera 7.2 - 9.5</p>
<p id="safari">我是神奇的 Safari</p>
<p id="firefox">我来自 Firefox</p>
<p id="firefox12">我是你爷爷 Firefox 1 - 2 </p>
<p id="ie7">我是囧 IE 7</p>
<p id="ie6">我是脑瘸 IE 6</p>


然后我让这些 P 标签默认都不显示:
p{display: none;}


使用 IE CSS 条件注释区分 IE 浏览器,这个已是前端常识了:
<!--[if IE 7]>
<style type="text/css">
p#ie7{display: block;}
</style>
<![endif]-->
 
<!--[if IE 6]>
<style type="text/css">
p#ie6{display: block;}
</style>
<![endif]-->


IE 中另一个可用的方法是将不同版本的CSS Hack声明放入一个样式表内,这个也早是前端常识了:
/* IE 7 */
p#ie7{+display: block;}
 
/* IE 6 */
p#ie6{-display: block;}



CSS Hack 区分 Opera
/* Opera */
@media all and (min-width:0px){
    p#opera { display: block; }
}


CSS Hack 区分 Firefox
第一个使用了 body:empty 来区分 Firefox 1 和 2 。第二个 hack使用了全部 Firefox 浏览器的专有扩展 -moz。 -moz 只对 Firefox有效,使用这个 Hack 大可不必担心其他浏览器的影响。
/* Firefox 1 - 2 */
body:empty p#firefox12{display: block;}
/* Firefox */
@-moz-document url-prefix(){
    p#firefox { display: block; }
}



CSS Hack 区分 Safari
Safari 的 CSS hack 与 Firefox 的 hack 看起来很像,使用的是 Safari浏览器的专有扩展 -webkit 且只对 Safari 浏览器有效。
/* Safari */
@media screen and (-webkit-min-device-pixel-ratio:0){
    p#safari { display: block; }
}




分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics