<分区>
<分区>
我正在制作我的第一个网站,我想让标签栏贴在屏幕顶部并在您滚动时留在屏幕上,但是 position:sticky 似乎并没有这样做。
div#tabBar {
position: sticky;
top: 0;
display: flex;
flex-direction: row;
background-color: #29335C;
}
<div>
<div id="tabBar">
<a class="tabLinks">Home</a>
<a class="tabLinks">About Me</a>
</div>
<h1 id="homeFrame">Anna Grace</h1>
<div id="projectList"></div>
</div>
最佳答案
如果你想让它在屏幕顶部,只需切换到position: fixed;
位置 fixed
始终相对于窗口的左上角,这在您的情况下很方便。请注意,因为固定元素没有宽度,所以内容将从它的下方/后面开始。你可能会想给你的 body 一个等于头部高度的填充顶部。
位置粘性的工作方式不同。它保持为 block /普通元素,直到它位于给定的 top
位置,然后切换到 fixed
行为。想想那些出现在内容旁边的广告,并在您向下滚动时停留在原处。
在您的情况下,差异将是最小的,因为 header 从 0 开始,因此它会立即切换到固定状态,它的行为可能会更加不可预测。
关于html - CSS "position: sticky"不粘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54129832/