如何“禁用”移动网页上的缩放?

我正在创build一个移动网页,基本上是一个有几个文本input的大表单。

但是(至less在我的Android手机上),每次点击某个input时,整个页面都会放大,遮住了页面的其余部分。 是否有一些HTML或CSS命令来禁用这种在移动网页上的缩放?

这应该是你需要的一切

 <meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0' /> 

对于那些迟到的人来说,kgutteridge的答案不适合我,而Benny Neugebauer的回答包括target-densitydpi(一个正在被弃用的特征 )。

这对我来说确实有效:

 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" /> 

您可以使用:

 <head> <meta name="viewport" content="target-densitydpi=device-dpi, initial-scale=1.0, user-scalable=no" /> ... </head> 

但是请注意, Android 4.4的属性target-densitydpi不再支持 。 所以对于Android 4.4及更高版本,build议使用以下最佳做法:

 <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no" /> 

这里有很多方法,尽pipe这个位置通常是用户在缩放可访问性时不应该受到限制 ,但可能会出现这样的情况:

在设备宽度渲染页面,不要缩放:

 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 

防止缩放并防止用户缩放:

 <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> 

删除所有缩放,全部缩放

 <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" /> 

由于最初的问题仍然没有解决办法,这里是我的两分钱。

移动Safari浏览器要求input字体大小为16px。 所以

 input[type="text"], input[type="number"], input[type="email"], input[type="tel"], input[type="password"] { font-size: 16px; } 

某些设备视口元标记将不起作用。在这种情况下,您可以添加此脚本

 $(document).on('touchmove', false); 

例如:

 </head> <body> <script>$(document).on('touchmove', false);</script> </body> 

你可以通过简单地在你的头部添加下面的'meta'元素来完成这个任务:

 <meta name="viewport" content="user-scalable=no"> 

添加“宽度”,“初始缩放”,“最大宽度”,“最大缩放”等所有属性可能不起作用。 因此,只需添加上面的元素。