javascript - 如何修复在主要部分下溢出的隐藏导航?
问题描述
我的隐藏导航应该保留在主要部分下方,当向下滚动页面时会溢出。
我已将我的主要部分设置为 min-height: 100vh,带有背景颜色和 z-index,所以我不明白为什么这仍然会溢出。
nav {
position: fixed;
top: 0;
right: 0;
width: 300px;
height: 100%;
background-color: #ff5000;
color: #fbf9f9;
font-family: "Anx Regular";
font-size: 28px;
display: flex;
flex-direction: column;
justify-content: center;
}
main {
position: relative;
z-index: 1;
background-color: #fbf9f9;
min-height: 100vh;
transition: transform 0.8s;
}
main.open {
transform: translate(-300px, 0);
}
const toggleTag = document.querySelector("a.toggle-nav")
const mainTag = document.querySelector("main")
toggleTag.addEventListener("click", function() {
mainTag.classList.toggle("open")
if (mainTag.classList.contains("open")) {
toggleTag.innerHTML = `<img src="close.svg">`
toggleTag.style.width = "30px"
} else {
toggleTag.innerHTML = `<img src="menu.svg">`
toggleTag.style.width = "30px"
}
解决方案
100vh 表示它正在显示的窗口的全高(例如 800 像素),所以这不是您解决问题所需要的。您设置了一个位置:固定到导航,因此即使您向下滚动,它也始终位于屏幕的右上角。如果您需要它仅在您位于页面顶部时显示,请尝试切换到绝对位置。
推荐阅读
- python - 我收到“RequestsDependencyWarning:urllib3 (1.25.3) 或 chardet (3.0.4) 与支持的版本不匹配!”
- asp.net-core - Blazor:如何从子组件中的事件中获取发件人
- flutter - 如何从类字段设置提供者值?
- parallel-processing - 如何在 Vulkan 中适当地设置工作组计数
- ansible - 无法使用循环复制文件
- regex - 修剪标签之间的空间
- sql - 如何比较jsonb列的数组元素
- npm - Insufficient Entropy cryptiles 错误解决
- javascript - 我正在尝试使用传单 javascript 库在地图上可视化一些数据点。你能告诉我我的代码有什么问题吗?
- javascript - 带有 Gatsby JS 和 Contentful 的 Onepage,如何导入我的第一个简单字符串