如何处理 Safari iOS 缩放输入字段

How to handle Safari iOS zoom on input fields

我的响应式 Web 应用程序(由 Angular Material 制作)工作正常,除了 iOS/Safari 上的输入字段:当用户关注输入字段时,iOS 会缩放 Web页。然后缩放级别保持不变,破坏了应用程序的响应能力(因为那时,视口变得可滚动,例如工具栏不再粘在顶部。此外,一些元素应该始终在左侧和右侧可见, 由于缩放而在可见区域之外)。

我遵循了各处给出的建议,例如 https://www.warrenchandler.com/2019/04/02/stop-iphones-from-zooming-in-on-form-fields/ and

几乎可行的方法是在 HTML header 中使用以下内容:

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

然而,这对我来说还不够好:

有没有人有什么建议,给:

您的字体大小是否小于 16px?

您可能遇到与 Angular Material 无关的浏览器行为。

我的团队遇到了类似的问题。我们发现您的问题是我们工作的一部分。我们最终意识到我们看到的视口缩放行为与 Angular Material 无关。当输入字段上的字体小于 16px 时,这就是 iOS 所做的:https://css-tricks.com/16px-or-larger-text-prevents-ios-form-zoom/ 任何输入字段。 Angular Material与此无关。

相关:请注意,在引入 iPhone 后的大约十年里,禁用移动设备的视口缩放是标准做法,但它不再是 The Way。 https://webkit.org/blog/7367/new-interaction-behaviors-in-ios-10/