考虑以下视口元标记:
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no, minimal-ui" />
页面上的内容是不可缩放和移动响应的。有时候,我需要在其上叠加一个大图像,并允许用户对该图像进行捏合缩放。
#overlay_div {
position: fixed;
top: 0;
left: 0;
height: 100%;
width: 100%;
background-color: #dddddd;
z-index: 550000;
overflow: scroll;
-webkit-overflow-scrolling: touch;
}
<div id="overlay_div">
<img src="largeimage.jpg" width="100%">
</div>
目前,我知道有两个可能的选择:
- 通过编程方式更改viewport meta以允许用户缩放(可能会引起跨浏览器的问题,也会导致底层内容缩放,这是不可取的)
- 使用hammer.js手动处理捏合事件并相应地缩放div / image(似乎非常复杂可能存在兼容性问题)。
有没有人知道正确的方法,特别是针对跨浏览器兼容性?我希望可能有一个简单的CSS解决方案。
谢谢