教你如何区分出IE6-IE10、FireFox、Chrome、Opera

转载自http://www.jb51.net/article/50116.htm

现在的浏览器IE6-IE10、Firefox、Chrome、Opera、Safari。。。数量众多,可谓百家争鸣,对用户来说有了很多的可选择型,不过这可就苦了Web前端开发人员了。
今天把一些常用的CSS Hack整理了一下,包括常用的IE hack以及火狐、Chrome、Opera浏览器的Hack,并把这些CSS Hack综合的一起,写了一个小的浏览器测试器。如图所示:

html部分:

<div class="content">
    <div class="test"></div>
    <div class="txt">
        <p>IE6下背景颜色:<span class="ie6" style="background-color: #ccc;">#ccc</span></p>
        <p>IE7下背景颜色:<span class="ie7" style="background-color: #666;">#666</span></p>
        <p>IE8下背景颜色:<span class="ie8" style="background-color: #06f;">#06f</span></p>
        <p>IE9下背景颜色:<span class="ie9" style="background-color: #f00;">#f00</span></p>
        <p>IE10下背景颜色:<span class="ie10" style="background-color: #0ff;">#0ff</span></p>
        <p>webkit,Safari,Chrome下背景颜色:<span class="webkit-safari-gg" style="background-color: #ff0;">#ff0</span></p>
        <p>FireFox下背景颜色:<span class="firefox" style="background-color: #f0f;">#f0f</span></p>
        <p>Opera下背景颜色:<span class="opera" style="background-color: #0f0;">#0f0</span></p>
    </div>
</div> 

CSS部分,此部分就只贴Hack部分的代码吧,布局的就不贴了:

.content .test {
    width: 200px;
    height: 200px;
    background: #f60; /*all*/
    background: #06f9; /*IE*/
    *background: #666; /*IE6,7*/
    _background: #ccc; /*IE6*/
}

/* webkit and opera */
@media all and (min-width:0){
    .content .test {
        background: #0f0;
    }
}

/* webkit */
@media screen and (-webkit-min-device-pixel-ratio:0) {
    .content .test {
        background: #ff0;
    }
}

/*FireFox*/
@-moz-document url-prefix() {
    .content .test {
        background: #f0f;
    }
}

/*IE9+*/
@media all and (min-width:0) {
    .content .test{
        background: #f009;
font-size:13px\9\0; } } 或者:

     :root Selector {property: value9;}
     上面是IE9的写法,具体应用如下:

     :root .demo {color: #ff09;}


/*IE10+*/
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
    .content .test {
        background: #0ff;
    }
} 
/*ie11 css hack*/ 
@media all and (-ms-high-contrast:none) { 
*::-ms-backdrop, .class名字 { 里面的样式:样式值;} 


 

posted @ 2017-07-27 18:04  @circle  阅读(524)  评论(0编辑  收藏  举报