无法仅为opera 40.0应用特定的CSS

时间:2016-09-20 20:15:12

标签: css opera

我已经尝试了几个堆栈溢出链接,其中CSS hacks for opera是: -

@media not all and (-webkit-min-device-pixel-ratio:0) {  /*opera*/
    selector{

}
}

在Opera ver40.0中,它不起作用。我也试过这篇文章的答案: - How to make CSS visible only for Opera

然后我分别为chrome,firefox,ie和opera写了几个媒体查询: -

 @media not all and (-webkit-min-device-pixel-ratio:0) {  /*opera*/
    #selector {  
       margin-top:-20px;
    }  
} 


@media screen and (-webkit-min-device-pixel-ratio:0) { /*chrome*/

  #selector{
    margin-top:-10px;
}
}

@media not all and (-moz-windows-compositor) { /*firefox*/
        #selector{
        margin-top:-10px;
    }
 }

@media screen and (min-width:0\0) { /* IE */

    #selector{
    margin-top:-10px;
    }

}

它适用于chrome,firefox,但是在歌剧中却没有。当我在Opera中检查开发人员工具时,它会使用chrome的CSS。现在你可能想知道为什么不把它用于chrome但是我不能因为margin-top在Opera中以-10px渲染掉了所以我只需要在opera中使用-20px。

1 个答案:

答案 0 :(得分:0)

由于没有基于CSS的hack可用,javascript浏览器检测对我有用,然后我使用jquery来覆盖这样的css: -

var isOpera = (!!window.opr && !!opr.addons) || !!window.opera || navigator.userAgent.indexOf(' OPR/') >= 0;

if(isOpera){
    $(selector).css('margin-top','-30px');
}