html - 元素中包含位置粘性?

标签 html css

<分区>


关闭 5 年前

这可能是由于我对这个新的 CSS 规则缺乏经验,但无论出于何种原因,我将导航设置为 position: sticky;,由于缺乏更好的词语,并没有跟随整个页面?

我不确定为什么,想知道是否有人可以帮助澄清我的原因 得到这种行为。 This is a link to my developer space.

.cd-header {
  position: sticky;
  position: -webkit-sticky;
  top: 0; /* required */
  z-index:9999;
}
<header class="cd-header">
  <nav class="navbar navbar-expand-lg" id="mainNav">
    <div class="container">
      <a class="navbar-brand js-scroll-trigger" href="#page-top"><img src="img/logo/cd-logo-lr-stky.svg" alt="Continuum Digital Logo" class="brand-logo"></a>

      <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="#navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
          <span class="navbar-toggler-bar bar1"></span>
           <div class="hamburger hamburger--spin">
            <div class="hamburger-box">
              <div class="hamburger-inner"></div>
            </div>
          </div>
        </button>


      <div class="collapse navbar-collapse" id="navbarResponsive">
        <ul class="navbar-nav ml-auto">

          <li class="nav-item">
            <a class="nav-link js-scroll-trigger" href="#services">
                <i class="now-ui-icons location_compass-05"></i>
                Our Journey
              </a>
          </li>

          <li class="nav-item">
            <a class="nav-link js-scroll-trigger" href="#contact">
                <i class="now-ui-icons files_single-copy-04"></i>
                Blog
              </a>
          </li>

          <li class="nav-item">
            <a class="nav-link n-btn" href="#">
                <i class="now-ui-icons arrows-1_share-66"></i>
                Build Your Quote
              </a>
          </li>

        </ul>
      </div>
    </div>
  </nav>
</header>

最佳答案

实际上 position:sticky 一直有效直到它的相关包含 block 高度超过...

在您的示例中,.cd-header 有一个父级(包含 block )bodyheight:100 仅采用视口(viewport)高度。 ..这就是为什么您的 .cd-header 在传递该高度值后不再粘...

因此尝试从正文中删除 height:100% 或将其设置为 auto...

body {
  height:auto;
}

您可以从 here 阅读更多关于 position:sticky 的信息

关于html - 元素中包含位置粘性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49283973/

上一篇:html - 将页面大小调整到 1200 像素以下会导致内容移动

下一篇:html - 调整外部文件中包含的 SVG 的大小

相关文章:

html - CSS float 列表项

asp.net - 当我向选择添加选项时,选择会变窄

html - (Bootstrap 3) 如何让小屏幕上的导航栏与大屏幕上的导航栏显示相同

php - 在 html 表中显示 SQL 表数据不起作用

javascript - 滚动到 DIV 元素的中心 - Angular 7

css - float DIV 容器

javascript - 为什么 div 会发生冲突?

html - 如果 Fuelux 数据网格中没有可用数据,如何显示 "No records found"消息

css - 当我的 css 中没有列出宽度和高度的计算样式时,它们来自哪里

CSS 子导航菜单文本颜色更改