可能使用 initial-scale=1

Avatar of Chris Coyier
Chris Coyier

DigitalOcean 为您的旅程的每个阶段提供云产品。立即开始使用 $200 免费信用额度!

如果您正在进行响应式设计,则使用的是 viewport <meta> 标签。这些告诉浏览器应该以什么宽度渲染视窗。如果您不使用此标签,它将以设备的默认值渲染,这几乎肯定不是您想要的。但即使您使用的是 viewport <meta>,您放入其中的值也存在细微差别。

我只想在这里关注一个细微的差别。

自从我开始进行响应式设计以来,我一直主要使用这个。

<meta name="viewport" content="width=device-width">

这意味着“浏览器,以您自然的宽度渲染此网站。”

如果我们看 iPhone,1-5 的宽度为 320 像素。6 的宽度为 375 像素,6+ 的宽度为 414 像素。还有无数其他设备,它们有各种各样的视窗宽度。该元标签将告诉它们都以其宽度渲染。很棒。

使用上面完全相同的标签,iPhone 在横向旋转时会表现出奇怪的缩放行为。

令人讨厌的缩放行为

输入 initial-scale 值!如果您改用这个

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

它保持相同的缩放

不再缩放

我这么说更好。

我不会怀疑 initial-scale 也修复了其他错误。我没有在一个庞大的设备实验室上进行测试。但这将非常有趣。如果您知道任何更深层的细节,请告诉我。

虽然 initial-scale=1 非常有用,但 maximum-scale 对无障碍性来说是个坏消息

我已经这样做了!

很棒。你比我领先很多。很多代码片段都包含了这个,这很好。我甚至可能曾经删除过它,并且没有立即注意到任何不良情况,因此一直保持这样。我就是那么笨。

记住,您需要的不仅仅是元标签

IE 10 在 Snap 模式和 Windows Phone 8 中需要 CSS 中的 @viewport 内容,因此请记住 使用这些内容