2012-12-05 22 views
0
$(button).click(function(){ 
    if (Modernizr.zoom()) $('body').animate({ zoom: '200%'; }, 1000); 
    else $('body').alternative(); 
}); 

正如您在上面所看到的......我想放大点击页面。jquery确定在浏览器中是否可以使用css缩放功能

顺便说一句:使用'zoom'(css)很好吗?我不确定,因为我没有找到'zoom'(css)的任何好的描述。或者是使用'scale'(css)来制作动画更好?

主要问题:有没有什么方法可以检测浏览器是否支持这种css-'zoom'(或其他)功能? 我使用的是Modernizr,但是在Modernizr中,如果'zoom'可用,没有任何可检测的东西。

回答

1

好的。我发现,使用CSS缩放属性并不好,因为它只适用于IE和一些更新版本的“真实”浏览器。如果我有一个百分比值的布局,它不会缩放,除非我也改变了宽度或高度的值,这是不好的。

但它确实与css3 scale-property一起使用!因此我发现了Modernizr.csstransforms()特征检测(对于js)!

所以......就是这样!

2

如果有人需要它...

我用modernzr看看浏览器是否支持变焦性能

if (Modernizr.testProp('zoom') === true) { 
    someStuff() 
    } 

,但为什么不使用transform? ,因为在这个特定的项目中,我需要放大所有的网站,使得像浏览器原生缩放,并且当您在网站上使用transform铬模糊所有的字体,但您可以使用zoom,它做了一个非常好的工作。

但firefox无法识别缩放属性,所以我使用缩放如果可用缩放,如果不是我使用transform缩放。

if (Modernizr.testProp('zoom') === true) { 
    zoomWithCSS() 
} 
else { 
zoomWithTransformScale() 
} 

working example on codepen

相关问题