我在移动设备上有侧边菜单布局错误,这与https://www.w3schools.com/howto/howto_js_sidenav.asp的侧边菜单示例类似。
如果您在移动设备的Chrome上访问上面的链接并打开任何一个菜单示例(屏幕截图1)。然后当你向上滚动以隐藏chrome的地址栏时,在你停止滚动之前,菜单底部会有一个空白的间隙(截图2)
我能弄清楚的唯一方法是将height: 100%; overflow: auto
添加到html
和body
。然而,这会给我带来一些其他问题。有没有其他方法可以解决它?
答案 0 :(得分:0)
height: 100vh
和posotion: fixed
对我有用:
:root {
--nav-width: 300px;
}
* {
box-sizing: border-box;
}
html, body {
margin:0;
}
div {
padding: 15px;
}
.nav {
background-color: goldenrod;
height: 100vh;
position: fixed;
width: var(--nav-width);
}
.content {
margin-left: var(--nav-width);
height: 3000px;
background-color: lightgreen;
}
<div class="nav">
<h3>I'm nav</h3>
</div>
<div class="content">
<h3>I'm content</h3>
</div>
答案 1 :(得分:0)
从this answer开始,在iPad上测试后,您需要对.sidenav
进行以下更改
.sidenav {
-webkit-transform: translateZ(0);
height: 110%;
...
}