首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >虽然我设置了top 0,但HTML5位置粘滞不能工作

虽然我设置了top 0,但HTML5位置粘滞不能工作
EN

Stack Overflow用户
提问于 2018-11-21 16:22:37
回答 3查看 50关注 0票数 1

代码语言:javascript
复制
/* site navigation bar */

nav.sitenavigation {
  position: sticky;
  top: 0;
  clear: both;
  text-align: center;
  color: #000000;
  font-size: 1.4em;
  background-color: #f0f8ff;
  margin: 50px auto;
}

nav.sitenavigation p {
  display: inline-block;
  margin: 0.5em;
  padding-right: 5em;
}

nav.sitenavigation a:link,
nav.sitenavigation a:visited {
  text-decoration: none;
  color: #000000;
}

nav.sitenavigation a:hover,
nav.sitenavigation a:focus {
  color: #33cc00;
}
p{
margin: 2000px;
}
代码语言:javascript
复制
<body>
  <div>
    <nav class="sitenavigation">
      <p><a href="index.html">&#127968; Home</a></p>
      <p><a href="listing.html">&#x1f4d6; Item Listing</a></p>
      <p><a href="order.html">&#128722; Your Order</a></p>
      <p><a href="contactus.html">&#x260E; Contact Us</a></p>
    </nav>
  </div>
  <p>ABC
  </p>
</body>

我已经尝试了很多方法让我的导航栏停留在顶部,但它没有。我已经将HTML样式重置为overflow: auto。它显示like position: relative而不是position: sticky

EN

回答 3

Stack Overflow用户

发布于 2018-11-21 16:31:07

position: sticky在高度足够长的情况下工作。

你能让div (在下面的body中)变成div style="height: 1000px;"吗?

在我的例子中,这种风格效果很好。

票数 2
EN

Stack Overflow用户

发布于 2018-11-21 16:42:52

设置相对容器的高度

代码语言:javascript
复制
/* site navigation bar */
body {height: 800rem;}
nav.sitenavigation {
    position: sticky;
    top: 0;
    clear: both;
    text-align: center;
    color: #000000;
    font-size: 1.4em;
    background-color: #f0f8ff;
    margin: 50px auto;
}
nav.sitenavigation p{
     display: inline-block;
     margin: 0.5em;
     padding-right: 5em;
}
nav.sitenavigation a:link, nav.sitenavigation a:visited{
     text-decoration: none;
     color: #000000;
}
nav.sitenavigation a:hover, nav.sitenavigation a:focus{
     color: #33cc00;
}
代码语言:javascript
复制
<body>

        <nav class="sitenavigation">
                <p><a href="index.html">&#127968; Home</a></p>
                <p><a href="listing.html">&#x1f4d6; Item Listing</a></p>
                <p><a href="order.html">&#128722; Your Order</a></p>
                <p><a href="contactus.html">&#x260E; Contact Us</a></p>
        </nav>

      </body>

票数 0
EN

Stack Overflow用户

发布于 2018-11-21 16:30:46

根据定义,您看到的相对位置将是正确的:

粘性元素根据滚动位置在相对和固定之间切换。它是相对定位的,直到在视口中满足给定的偏移位置-然后它就会“固定”在适当的位置(如位置:固定)。https://www.w3schools.com/Css/css_positioning.asp

如果您的导航应该放在顶部,而不考虑滚动,那么您很可能希望使用position: absolute

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53407830

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档