html - CSS "position: sticky"不粘

标签 html css

<分区>

我正在制作我的第一个网站,我想让标签栏贴在屏幕顶部并在您滚动时留在屏幕上,但是 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/

上一篇:css - 使用 scss 执行包含通用部分和特定部分的最小 css 规则集?

下一篇:javascript - 使背景元素和 div 图像保持一致

相关文章:

javascript - HTML5数字时钟动画

css - 包含 a-href-tag 的标签不会触发它的输入

css - 在智能手机上查看响应式网站时,左侧像素被截断

javascript - JQuery - 触发对 div 的调用变得可见

javascript - 禁用 iframe 上的触摸但保持点击能力

javascript - 如何将选项添加到 knockout js选项中的第一个?

javascript - HTML5 - 延迟 Canvas 绘制

javascript - 在函数返回 true 之前不要提交表单

php - 使用 PHP 缩小 CSS 文件

Javascript:我的工具提示不显示其边框