RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 746771
Accepted
Dmitry Maslennikov
Dmitry Maslennikov
Asked:2020-11-20 00:10:00 +0000 UTC2020-11-20 00:10:00 +0000 UTC 2020-11-20 00:10:00 +0000 UTC

iOS 11 中模态输入元素的光标偏移量

  • 772

该问题出现在 iOS 11 中(在该操作系统上的所有浏览器中都存在,包括 Safari 和 Chrome)。当打开带有输入元素的模态窗口时,光标会移动到文本输入区域的上方或下方(在某些情况下,它甚至可能会移到一边)。

正如我后来发现的,这是所有 iOS 设备的常见错误: https ://bugs.webkit.org/show_bug.cgi?id=176896

谁遇到过这样的问题,你是如何解决的?

从有bug页面的反馈来看,该问题与iOS 11、11.1、11.2、11.3相关,苹果开发者尚未解决(此外,部分修复在11.2和11.3版本中不起作用)。

ios
  • 2 2 个回答
  • 10 Views

2 个回答

  • Voted
  1. Alpen Gold
    2020-04-11T15:58:21Z2020-04-11T15:58:21Z

    昨天我更新到ios 11.3,游标不再有问题,之前是在ios 11之前的版本上。

    • 2
  2. Best Answer
    Dmitry Maslennikov
    2020-11-20T01:38:49Z2020-11-20T01:38:49Z

    现在有一些修复可以稍微改善这种情况,但仍然没有成熟的工作版本。

    例如,这里提供了这样的方法: https ://hackernoon.com/how-to-fix-the-ios-11-input-element-in-fixed-modals-bug-aaf66c7ba3f8

    可能的解决方案:

    1.设置body标签的固定位置

    打开模态窗口时,我们position: fixed为标签添加样式body,关闭后,我们将其删除。但是,如果模态窗口不是在页面的最顶部打开的,当它关闭时,页面会向上移动(您可以通过在打开时保存它并在关闭时设置滚动位置来修复它)。

    缺点:

    • 关闭模态窗口时,出现地址栏和选项卡式面板,很烦人(由于JS滚动定位引起的)。
    • 强偏移被移除,但模态窗口底部的输入元素仍然有轻微的光标偏移(在这种情况下,用户可以工作,但在视觉上它看起来不是最愉快的方式)。

    2. 将模态窗口的显示从位置:固定切换到绝对。

    模态窗口被分配一个属性position: absolute,尺寸和偏移量是在创建时计算的。这种方法从根本上消除了光标偏移问题,但有许多令人讨厌的伪影。

    缺点:

    • 在装有 iOS 的智能手机上,当键盘打开时,屏幕会移动到输入元素的中心,这会禁用滚动锁定,并且深色覆盖不会完全覆盖屏幕区域。
    • 在许多移动设备上,即使正确计算了屏幕高度,底部的亮条也不会被深色覆盖层覆盖。

    3.将所有模态窗口翻译成单独的页面

    这种方法更激进,因为 意味着对 modals 中使用的所有代码的 iOS 完全重写,但我认为这是解决问题的最完整的解决方案。

    缺点:

    • 有必要在 iOS 11 上完全删除模态窗口并将其内容转换为常规页面
    • 1

相关问题

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    Python 3.6 - 安装 MySQL (Windows)

    • 1 个回答
  • Marko Smith

    C++ 编写程序“计算单个岛屿”。填充一个二维数组 12x12 0 和 1

    • 2 个回答
  • Marko Smith

    返回指针的函数

    • 1 个回答
  • Marko Smith

    我使用 django 管理面板添加图像,但它没有显示

    • 1 个回答
  • Marko Smith

    这些条目是什么意思,它们的完整等效项是什么样的

    • 2 个回答
  • Marko Smith

    浏览器仍然缓存文件数据

    • 1 个回答
  • Marko Smith

    在 Excel VBA 中激活工作表的问题

    • 3 个回答
  • Marko Smith

    为什么内置类型中包含复数而小数不包含?

    • 2 个回答
  • Marko Smith

    获得唯一途径

    • 3 个回答
  • Marko Smith

    告诉我一个像幻灯片一样创建滚动的库

    • 1 个回答
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Алексей Шиманский 如何以及通过什么方式来查找 Javascript 代码中的错误? 2020-08-03 00:21:37 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    user207618 Codegolf——组合选择算法的实现 2020-10-23 18:46:29 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5