通过修改 viewport 的 `user-scalable` 属性为 `yes`,并配合合理的初始缩放设置,即可在 angular 应用中实现移动端触控缩放(包括缩小),突破默认禁止缩放的限制。
在 Angular(或其他前端框架)开发移动 Web 应用时,常因用户体验或适配需求,需要允许用户通过双指捏合手势自由缩放页面——不仅放大,也需支持缩小。但许多开发者会发现:即使设置了 initial-scale=1.0,页面仍无法缩小,根本原因在于 标签中禁用了用户缩放能力。
默认配置如 显式禁止了所有缩放行为(user-scalable=no),导致浏览器完全忽略 pinch-to-zoom 手势,无论放大或缩小均失效。
✅ 正确做法是启用用户缩放,并推荐采用更健壮的写法:
该配置含义如下:
⚠️ 注意事项:
引发可访问性与布局崩溃问题;总结:解除缩放限制的关键不在 JavaScript 或 CSS,而在于 viewport 元标签的语义化配置。只需将 user-scalable=no 改为 yes,并合理设定 minimum-scale 与 maximum-scale,即可安全、可控地支持移动端触控缩放(含缩小),兼顾体验与可用性。