android - 防止在移动版 Firefox 中输入字段焦点后放大

标签 android html css forms firefox

我想在 Android Firefox(可能是 iOS Safari)上聚焦 HTML 输入字段时禁用自动缩放。
我在 SO [1, 2, 3] 和网络上阅读了许多相关的古老线程,但既没有找到可行的解决方案,也没有找到明确的答案,这在 2021 年是不可能的。我拥有的唯一测试设备是 Android手机(这也可能发生在 iOS 上),这个问题只出现在 Firefox 上; Chrome 按预期工作(由我)。
我努力了:

  • 设置 font-size: 16px在输入字段
  • 设置 <meta name="viewport" content="width=device-width, initial-scale=1, max-scale=1" />
  • 甚至出于绝望 <meta name="viewport" content="width=device-width, initial-scale=1, max-scale=1, user-scalable=no">

  • 安卓 11、火狐 93.1.0
    我想要实现的目标真的不可能吗?
  • 密码箱:https://y370s.csb.app/
  • [1] Disable Auto Zoom in Input "Text" tag - Safari on iPhone
  • [2] Disable zoom on input focus in Android webpage
  • [3] Disable zoom on input focus in Android smartphone
  • 最佳答案

    固定在 96
    现在已为 Firefox Mobile 96 及更高版本修复此问题。错误线程中有一些迹象表明它在 94 之前的版本中不是问题,但我无法确切确认是哪个版本引入了这个错误。
    使用 minimum-scale=1 设置元标记和 maximum-scale=1 , 如:

    <meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, minimum-scale=1, maximum-scale=1" />
    
    引用:Bug 1738696
    只是设置user-scalable=no<meta name="viewport"标签将在 future 工作,以及像 touch-action: manipulation 这样设置 CSS .关注 Bug 1746126有关更新。
    适用于所有移动浏览器
    为了防止输入字段在所有移动浏览器中缩放,我建议还包括 user-scalable=no ,只是为了覆盖你所有的基础。所以最后的答案是把它放在你的<head> .
    <meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no" />
    

    关于android - 防止在移动版 Firefox 中输入字段焦点后放大,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69495070/

    相关文章:

    javascript - 使用菜单大小缩放内容

    android - 随机 TextView 位置

    java - 如何根据 Android Room 的参数查询实时数据?

    java - 来自扩展文件中的 VideoView MediaPlayer.prepareAsync() 的 IllegalStateException

    javascript - 如何在 owl-carousel 幻灯片中找到视频元素,然后仅为该特定幻灯片设置 owl-carousel 控件的 css

    html - chrome 的边框问题

    Android Studio,RecyclerView 在启动时使我的应用程序崩溃

    php - Laravel 中的 Bootstrap 模态验证

    html - :not and text-decoration bug? 发送到哪里

    javascript - 用js制作一个 "display: none"到 "display: block",让所有div碰撞