【发布时间】:2019-07-14 08:53:58
【问题描述】:
使用 Bootstrap 4.3.1
在我的网站上,模式也可以在响应模式下完美运行。
我还有一个 Android 应用程序,除其他功能外,它还包含我在 WebView 中的网站。当我在应用程序中的 WebView 中触发模式时,在一个长页面上 - 它在页面顶部打开(不是垂直居中),如果你碰巧向下滚动页面一半,你将看不到它,因为位置固定在顶部,您现在需要向上滚动才能看到它(如果您知道它已打开)。
再次,在日志网页中,以移动形式 - 问题不存在 - 仅在 WebView 中。 有人遇到过这种情况吗?
这是 Bootstrap 对 modal 的位置。
.modal {
position: fixed;
top: 0;
right: 0;
z-index: 1050;
display: none;
width: 100%;
height: 100%;
overflow: hidden;
outline: 0;
}
似乎在 WebView 中,position: fixed; 被忽略了——因为它是相对于窗口的,所以如果它向下滚动,模式会随着页面上升。
对此的测试很棘手,要正确测试,您需要在 应用程序 内、WebView 容器内进行测试(正如我所提到的,在移动设备上的 Chrome 响应式中,此问题不存在) .
【问题讨论】:
-
机会不大,您是否尝试在样式表中设置 .modal{ position: fixed !important }?
-
@Vega - 是的,试过了。在 Chrome 中,远程设备检查器确实显示为
position: fixed,但实际上,在应用程序中的设备本身上 - 我被滚动到页面的一半(dormi.co.il/users/test222.html)并且模式弹出窗口被卡住,到顶部页面,在我看不到它的上部屏幕之外。在此处查看图片:imgur.com/a/rsYq1QH -
@Vega 再次感谢您的尝试。正如您可能在 imgur 图像中看到的那样,
position: fixed确实被应用(而不是被覆盖)。但它似乎是相对于 webview 容器而不是 app 容器(设备屏幕)。这意味着它会在您滚动时消失。这是否澄清了问题? -
您是否尝试过在模态打开时使正文不可滚动?
-
@kneidels 你试过把模态html最后放在body标签里吗??
标签: android bootstrap-4 android-webview google-chrome-app