向下滚动时,响应式菜单中的触摸/单击区域移位

时间:2019-01-29 13:22:42

标签: android html css twitter-bootstrap

一个有趣的问题,我无法在chrome或远程调试中使用开发人员模式进行调试。

问题出现在智能手机上,该智能手机的屏幕尺寸切断了底部的响应菜单(因此要求您向下滚动菜单以转到“ Sprache”),如以下屏幕截图所示:

enter image description here

要显示该错误:

  • 导航到https://www.a1.digital
  • 在小屏幕尺寸或chrome开发工具设备中启动菜单 工具栏
  • 向下滚动(重要)
  • 单击菜单项,例如Sprache
  • 相反,您将被带到其上方或下方的菜单项,如果是Sprache,您将被带到登录名

如果打开响应菜单但不滚动,则所有菜单项均正常工作。但是,一旦向下滚动,菜单项就会出现位移。

在Android Chrome,Android Firefox和Android Microsoft Edge上进行了测试,但在所有三种经过测试的浏览器中均显示。

这里是一个视频,该视频首先显示我如何加载菜单,向下滚动并单击Sprache,但它会加载其上方的菜单项,即Login。

然后,我导航回到主页并再次加载菜单。这次我不滚动,而是单击可以正确加载的市场。

https://youtu.be/ke-33uzD8h0

1 个答案:

答案 0 :(得分:0)

好的,所以我想我找到了一个解决方案(虽然不确定这是否是最好的解决方案)。但首先,问题是:

当您单击导航时,类rows = db.execute("SELECT name FROM sqlite_master WHERE type = 'table'") tables = [row[0] for row in rows] def sql_identifier(s): return '"' + s.replace('"', '""') + '"' for table in tables: print("table: " + table) rows = db.execute("PRAGMA table_info({})".format(sql_identifier(table))) print(rows.fetchall()) rows = db.execute("PRAGMA foreign_key_list({})".format(sql_identifier(table))) print(rows.fetchall()) 被添加到您的public class GetForecastInteractorImpl implements MainContract.GetForecastInteractor { @Inject Retrofit retrofit; ... } 中。这只是在点击被注册之前发生的。 locked.navbar-collapse.collapse添加到导航中,使其无法滚动。现在,如果您已经滚动,它将“跳回”到顶部边缘,并记录鼠标在该点下方的导航条目上的单击。您实际上可以在页面更改之前看到这种情况。我为此找到的解决方案是以下CSS:

.locked

我们使用.collapse两次,因此不会被覆盖。这样可以使滚动保持活动状态,并可以帮助您解决问题。但这可能会带来其他后果,因此请对其进行良好的测试。如果您对此有疑问或其他问题,请添加评论。