css zoom在ie11中不起作用

时间:2014-12-17 13:33:21

标签: javascript html css internet-explorer internet-explorer-11

使用angular 构建应用。它应该在平板电脑和支持触摸的设备上运行。

我想让用户能够缩放/放大应用,适合那些视力不好和手指笨拙的人。要做到这一点,我正在使用这个脚本,当用户点击缩放按钮时执行:  这是代码

<!--code start -->  
$scope.zoomLevel+= 0.1;

$('body').css({
   zoom: $scope.zoomLevel
});
   

这完全适用于chrome,但在IE11中完全没有任何作用

我正在使用twitter bootstrap,angular和jquery

jsFiddle 中进行测试时,我完全可以使用放大IE ,所以我猜我,或者某些第三方库正在设置属性这会影响IE中的缩放属性。

  • 这可能是什么?
PS:我不介意它不适用于Firefox。此应用程序将始终在IE11中运行。

1 个答案:

答案 0 :(得分:4)

zoom属性是一个较旧的功能,今天真的不应该使用。它具有较差的跨浏览器支持,不属于正式标准,因此我(IE团队的工程师)会鼓励您找到更符合标准的方法来继续前进。

从版本9开始,Internet Explorer支持CSS Transforms和scale功能。此特定功能具有更好的跨浏览器支持,并且足以满足您的需求。我创建了一个小小提琴,同时显示缩放和缩放,以确认体验中的相似性。

小提琴:http://jsfiddle.net/jonathansampson/hy5vup49/2/

在评论中进行了一些讨论后,您指出了zoom与转换比例之间的有效布局差异。如果您希望实现zoom跨浏览器的效果,我建议您考虑在项目中使用emrem单位,并利用字体大小继承作为缩放机构。

小提琴:http://jsfiddle.net/jonathansampson/024krs33/