当前位置: 首页 > 知识库问答 >
问题:

粘性定位不会工作,没有溢出或高度调整“重复”

晁聪
2023-03-14

我是HTML/CSS的新手,正在构建一个简单的测试站点。目前,我正在努力使粘性定位工作。具体地说,我有一个标题/徽标区域,下面有一个工具栏。当你向下滚动时,我希望标题滚动离开,但工具栏滚动直到它到达页面的顶部,它将保留在那里。

我已经尝试删除所有的大小调整,填充,和边距。我读到高度调整会引起问题,所以我想我会尝试所有这些。我也没有溢出。我还试着在所有不同的元素上设置粘滞位置。它仍然不起作用,我不明白为什么。

如有任何建议,将不胜感激。谢谢!

我的代码

null

h1 {
  background-color: lightblue;
  text-align: center;
}

.toolbar {
  border: 3px double black;
  background-color: coral;
  padding: 5px;
  text-align: center;
  width: 80%;
  max-width: 650px;
  margin: auto;
  position: sticky;
  top: 0px;
  margin: auto;
}

main {
  height: 200vh;
}

a {
  display: inline-block;
  color: black;
  background-color: lightblue;
  list-style-type: none;
  border: 1px solid black;
  width: 100px;
  font-size: 20px position:sticky;
}

a:link {
  text-decoration: none;
  color: red;
}
<header>
  <h1>Title Area</h1>
  <h2>"Awesome Tagline!"</h2>
  <hr>
</header>

<nav>
  <ul class="toolbar">
    <a href="">
      <li>Home</li>
    </a>
    <a href="">
      <li>About</li>
    </a>
    <a href="">
      <li>Menu</li>
    </a>
    <a href="">
      <li>Other</li>
    </a>
  </ul>
</nav>

<main></main>

null

共有2个答案

戴霖
2023-03-14

这不起作用,因为.toolbar

姜泰宁
2023-03-14

position:sticky;将滚动显示父母的高度,因此只要导航显示在屏幕上,它就会一直滚动。因此,在您的情况下,需要将位置:sticky;放在 ... 上。

不确定这是否是正确的html,但您缺少元素。

 类似资料:
  • 我想要一个flex项目采取100%的剩余高度,并显示栏。 问题似乎来自于我的,它占用了窗口高度的100%,而不占用剩余的空间。 https://jsfidle.net/jpo31gq9/

  • 好的,所以我已经阅读了这个网站和其他多个网站上对这个问题和类似问题的每个答案,但是似乎都没有用。我有一个基本的网页,上面有一张地图。我的任务是在浏览器窗口中全屏制作地图,而不是在计算机屏幕上全屏。下面是我正在使用的代码片段。我把我的宽度设置为100%,效果很好。我也试着把我的高度设置为100%,但是当这种情况发生时,地图会从页面上消失。我还尝试将高度设置为自动,但这给了我与高度100%相同的结果。

  • 我已经开始为绘制温度数据编程这个应用程序,当屏幕调整大小时,画布也应该调整大小。它初始化正确,但当我想调整窗口大小时,draw()方法只会根据它绑定的stackpanes高度值调整高度大小,但它将完全忽略宽度。听者甚至不会开火。这我觉得很奇怪。此外,我必须为StackPane设置最小大小,否则将不会绘制任何东西。我没有使用FXML。 编辑我将第58行从setRight()更改为setCenter,

  • 我有一个TornadoFX应用程序,可以打开一个模态对话框。它有文本字段,如果输入无效,则可以显示错误。 问题在于,当显示或隐藏错误时,模态对话框不会自动调整其高度。 这是简化对话框的外观,没有错误,也有错误 下面是一个简化的视图: 控制器打开它就像 TornadoFX和JavaFX有很多配置,如prefHeight、UsePrefHeights、fitToHeight、maxHeightProp

  • 希望的效果是广东省应该是放置在绿色的最上面,但是还是在之前的位置上。尝试使用了 distance 配置,但是发现没有效果。 这个如何让标签跟随区域的高度进行调整? echart-gl 好像没有对 ts 的支持,而且像 height 这样的属性,官方文档写的是 regionHeight,也是折腾了一下才知道是 height 才起作用。如果没有其他属性可以保证标签可以跟随区域调整。那么有没有其他比较好

  • 问题内容: 我有正在调整大小的内容,并且我希望有一个不会增加/缩小并且不属于可滚动内容的固定标题。如果没有足够的空间,则下面的内容可滚动。 内容外部包装器()具有,内部包装器具有。这里的思想过程是将div内的所有剩余空间填满,然后内部包装将占据的整个高度,如果溢出,则应滚动。 发生的事情是确实会填满该区域,但似乎它的内容决定了它的最小高度。 我怎样才能使它永远不会超出区域高度? 注意:我看了这个类