【发布时间】:2022-02-16 12:48:31
【问题描述】:
我正在尝试将我的 div 与我的“导航”中的“菜单”类 div 一起定位。我希望它出现在我的导航中最正确的位置,但也让我的“菜单”div 保持粘性,以便当我向上/向下滚动时,它会滚动。当视口的宽度低于约 1020 像素时,这很好,但任何高于我似乎都无法让它工作的东西。有人可以帮帮我吗?
注意:我不希望我的整个导航栏移动,只有显示“Div 应该留在导航栏内,右侧:0”的 div
HTML/CSS 代码:
<html>
<head>
<style>
.navbar {
margin: 0 auto;
max-width: 976px;
background: red;
align-items: flex-start;
}
.logo {
color: rgb(184, 8, 8);
top: 3.8rem;
grid-column: 1;
font-size: 2rem;
font-weight: bold;
height: 3rem;
background-color: black;
}
.menu {
color: white;
position: fixed;
z-index: 4;
right: 0;
margin-right: 0;
padding-bottom: 1rem;
top: 2.8rem;
background-color: black;
}
</style>
</head>
<body>
<nav class="navbar">
<div class="logo">Logo</div>
<div class="menu">
Div Should stay inside navbar with right: 0
</div>
</nav>
<div>dummy</div>
<div>dummy</div>
<div>dummy</div>
<div>dummy</div>
<div>dummy</div>
<div>dummy</div>
<div>dummy</div>
<div>dummy</div>
<div>dummy</div>
<div>dummy</div>
<div>dummy</div>
<div>dummy</div>
<div>dummy</div>
<div>dummy</div>
<div>dummy</div>
<div>dummy</div>
<div>dummy</div>
<div>dummy</div>
<div>dummy</div>
<div>dummy</div>
<div>dummy</div>
<div>dummy</div>
<div>dummy</div>
<div>dummy</div>
<div>dummy</div>
<div>dummy</div>
<div>dummy</div>
<div>dummy</div>
<div>dummy</div>
<div>dummy</div>
<div>dummy</div>
<div>dummy</div>
<div>dummy</div>
<div>dummy</div>
<div>dummy</div>
<div>dummy</div>
<div>dummy</div>
<div>dummy</div>
<div>dummy</div>
<div>dummy</div>
<div>dummy</div>
<div>dummy</div>
<div>dummy</div>
<div>dummy</div>
<div>dummy</div>
<div>dummy</div>
<div>dummy</div>
<div>dummy</div>
<div>dummy</div>
<div>dummy</div>
<div>dummy</div>
<div>dummy</div>
<div>dummy</div>
<div>dummy</div>
<div>dummy</div>
</body>
</html>
【问题讨论】:
-
position: fixed元素相对于视口定位,与父级的位置无关。匹配它们的水平轴的唯一方法是使用 JavaScript。还有position: sticky,它可以在一个轴上相对于父元素,而在另一个轴上相对于视口,但它不会超出父元素的范围。
标签: html css sass menu position