javascript - 隐藏地址栏时,Android Chrome 会在页面底部添加额外空间
问题描述
我有以下 CSS 代码:
html {
min-height: 100%;
position: relative;
}
body {
background-image: url("images/background.png");
background-repeat: repeat;
margin: 0 0 64px;
}
#sticky {
background-color: black;
height: 44px;
position: absolute;
bottom: 0;
left: 0;
right: 0;
}
#test {
width:50%;
height: 600px;
margin:50px auto;
background-color:white;
border: 1px solid #000000;
}
以及以下 HTML 代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta name="viewport" content="width=device-width, user-scalable=no" />
<meta charset="utf-8"/>
<title>test</title>
<script src="https://code.jquery.com/jquery-latest.min.js">
<script>
$(document).ready(function() {
$(document).on('click', '#test', function() {
$('#test').height('300px');
});
});
</script>
</head>
<body>
<div id="test">
<table style="height:600px;"></table>
</div>
<div id="sticky"></div>
</body>
</html>
1) 被调用的元素sticky
是一个粘性页脚
2) 调用的元素test
是一个 div,点击时会调整其大小
如果我加载页面,滚动直到隐藏地址栏,然后单击test
div,元素会调整大小并在粘性页脚下方添加一个额外的空间(相当于地址栏的高度)。
向后滚动以显示地址栏会导致页面快速跳转并删除多余的空间。
我只在 Android Chrome 中注意到了这种奇怪的行为(尚未在 Android 上测试过其他浏览器),并且我在多个 Android 设备上进行了测试,甚至 Android 模拟器也是如此。在 iOS 模拟器和桌面 Chrome 上测试时,问题不存在。
这是 Android Chrome 中众所周知的错误还是预期的行为?这种烦人的行为有解决方案吗?
解决方案
推荐阅读
- excel - 从oracle导出时如何在excel中显示纳秒
- java - C#/Java 中是否有任何 GLL 解析器组合库?
- typescript - TypeScript - 参数属性的类型保护
- python - 通过值的旋转变换矩阵
- node.js - 为什么当 headless 设置为 false 时 puppeteer 不允许 pdf 下载?
- java - 为什么动画从下到上移动对象而不是从上到下?
- c# - 有没有办法从托管在 Web 服务器中的 Web 应用程序访问客户端(用户)特殊文件夹
- android - 我们可以在没有特定平台的情况下集成 Firebase 并响应本机应用程序吗?
- c - 将指针传递给函数中的重新分配指针
- .net-core - .NET Core 3.0 中的 Outlook 互操作?