更新 12/2020:鉴于这篇文章仍然活跃,我必须强调这里没有适用于现代 Web 开发的答案。实际上,这里的几乎所有答案都会使您的网站在容纳残疾人方面处于不稳定的境地。head
您的响应式网站应该在标签中包含的唯一内容是:
<meta name="viewport" content="width=device-width, initial-scale=1">
如果您试图将用户锁定在特定范围内(例如诉讼甚至政府罚款),那么不仅仅是用户体验面临风险。
-- 继续自担风险 --
更新 03/2019:这个问答仍然有一些活动,近 5 年我的问题出现了。请注意,此问题的部分原因是当时较旧的移动设备更常见的违规行为。对于当今的浏览器和设备,摆弄视口可伸缩性将是解决更大问题的鞋拔,这可能是您的 CSS 或您的标记中的问题。
我已经建立了十几个响应式站点,但从未遇到过这个问题。基本上,我使用宽度=设备宽度的视口元标记,但 iPhone 和 Android 设备仍在缩放。出于某种原因,我在 Windows 手机上没有这个问题。
这是head html的摘录:
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
这是主要包装器的 HTML(注意最外层的 div 是从 jquery.mobile 添加的:
<body class="html front logged-in no-sidebars page-node mobile-detect-class ismobiledevice" >
<div data-role="page" data-url="/?mobile_switch=mobile" tabindex="0" class="ui-page ui-body-c ui-page-active" style="min-height: 568px;">
<div class="container">
</div>
</div>
</body>
这是主要的包装 CSS:
html,body { margin: 0; padding: 0; background-color: #d5d5d5; font-family: 'HelveticaNue', Arial; }
body {background: transparent none no-repeat 50% 0; min-height:100%; height:auto; background-size: auto 100%; width:auto;}
body > div {width: 100%; height: auto; }
.container { background: #fff none no-repeat 50% 0; margin-bottom: 20px; width:100%; position:relative;}
Bootstrap 也在样式表之前被加载。
我已经尝试了许多不同的方法,包括:
- 删除 jquery.mobile
- 删除引导程序
- 将引导程序更新到最新版本
- 将视口标签更改为以下内容:
- 宽度=设备宽度,初始比例=1.0
- 宽度=设备宽度,初始比例=1.0,用户可缩放=否
- 宽度=设备宽度,初始缩放=1.0,用户可缩放=0
- 宽度=设备宽度,初始比例=1.0,最小比例=1.0,最大比例=1.0
- 调整与宽度/最大宽度相关的各种 CSS 属性
我完全没有想法,似乎已经用尽了我能通过谷歌找到/尝试的任何新东西。我将不胜感激您能提供的任何帮助!