我已经尝试了几个堆栈溢出链接,其中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。
答案 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');
}