无法仅为opera 40.0应用特定CSS
我尝试了几个堆栈溢出链接,其中针对opera的CSS攻击是:-无法仅为opera 40.0应用特定CSS,css,opera,Css,Opera,我尝试了几个堆栈溢出链接,其中针对opera的CSS攻击是:- @media not all and (-webkit-min-device-pixel-ratio:0) { /*opera*/ selector{ } } 在opera版本40.0中,它不起作用。我也在这篇帖子上尝试了答案: 然后我分别为chrome、firefox、ie和opera编写了几个媒体查询,如下所示:- @media not all and (-webkit-min-device-pixel-rat
@media not all and (-webkit-min-device-pixel-ratio:0) { /*opera*/
selector{
}
}
在opera版本40.0中,它不起作用。我也在这篇帖子上尝试了答案:
然后我分别为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;
}
}
var isOpera = (!!window.opr && !!opr.addons) || !!window.opera || navigator.userAgent.indexOf(' OPR/') >= 0;
if(isOpera){
$(selector).css('margin-top','-30px');
}
它可以在chrome、firefox、ie上运行,但在opera上则不行。当我在Opera中查看开发工具时,它使用的是CSS而不是chrome。现在你可能想知道为什么不在chrome上使用它,但我不能,因为margin top在opera中的渲染效果远差于-10px,所以我在opera中只需要-20px。由于没有完全基于CSS的黑客可用,javascript浏览器检测对我有效,然后我使用jquery覆盖CSS,如下所示:-
@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;
}
}
var isOpera = (!!window.opr && !!opr.addons) || !!window.opera || navigator.userAgent.indexOf(' OPR/') >= 0;
if(isOpera){
$(selector).css('margin-top','-30px');
}
由于没有完全基于CSS的黑客可用,javascript浏览器检测对我来说很有效,然后我使用jquery覆盖CSS,如下所示:-
@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;
}
}
var isOpera = (!!window.opr && !!opr.addons) || !!window.opera || navigator.userAgent.indexOf(' OPR/') >= 0;
if(isOpera){
$(selector).css('margin-top','-30px');
}
你所看到的答案已经有七年了,Opera已经开始使用与Chrome相同的内核(blink),而且可能不再有任何黑客攻击仅仅针对Opera,因为它本不需要了。@adeneo:但是为什么Chrome和Opera的渲染方式不同呢?我以前甚至没有媒体查询,但因为opera,我将其分为媒体查询。您是对的,因为它使用chrome的媒体查询进行渲染,但对于边距,结果在both@TheOneandOnlyChemistryBlob:一些客户使用opera我能做什么。如果stackoverflow社区帮不上忙,那么我会告诉他们我们不会支持opera。当他提到并检查时,我实际上下载了它。我甚至已经忘记了opera,而你现在看到的答案已经有七年了,opera已经开始使用与Chrome相同的内核(blink),而且可能已经没有任何黑客只针对opera了,因为它不应该被需要。@adeneo:但是为什么Chrome和opera的渲染方式不同呢?我以前甚至没有媒体查询,但因为opera,我将其分为媒体查询。您是对的,因为它使用chrome的媒体查询进行渲染,但对于边距,结果在both@TheOneandOnlyChemistryBlob:一些客户使用opera我能做什么。如果stackoverflow社区帮不上忙,那么我会告诉他们我们不会支持opera。当他提到并检查时,我实际上下载了它。这段时间我甚至忘记了歌剧