navigation - 如何将数据偏移添加到 Bootstrap 4 固定顶部响应式导航栏?

标签 navigation navbar nav bootstrap-4 twitter-bootstrap-4

因此,在 Bootstrap v3 中,您只需向导航标记添加一个 data-offset 属性,并带有像素偏移量,在本例中为 54px,

<nav data-offset="54"></nav>

但是,在 Bootstrap v4 中,此数据偏移属性缺失,并且不起作用。我浏览了 v4 文档,但似乎找不到任何东西!我还尝试过使用 data-offsetoffset 属性,但这些也不起作用。

这是导航的 html 代码

<nav class="navbar navbar-light bg-faded navbar-fixed-top">
  <button type="button" data-toggle="collapse" data-target="#nav-collapse" aria-controls="#nav-collapse" aria-expanded="false" aria-label="Toggle navigation" class="navbar-toggler hidden-md-up">&#9776;</button>
  <div id="nav-collapse" class="collapse navbar-toggleable-sm">
    <ul class="nav navbar-nav pull-md-right">
      <li class="nav-item"><a href="#page-top" class="nav-link page-scroll">home</a></li>
      <li class="nav-item"><a href="#about" class="nav-link page-scroll">about</a></li>
      <li class="nav-item"><a href="#services" class="nav-link page-scroll">services</a></li>
      <li class="nav-item"><a href="#productssolutions" class="nav-link page-scroll">products + solutions</a></li>
      <li class="nav-item"><a href="#contact" class="nav-link page-scroll">contact</a></li>
    </ul>
  </div>
</nav>

我该如何添加 54px 的数据偏移量?是否有可以使用的替代方案,例如需要使用几行 js 将一个简单的脚本标记添加到我的 html 中?

最佳答案

所以我最终解决这个问题的方法是在每个部分的顶部添加一个单独的元素;

<span class="anchor" id="SECTION"></span>
<section id="SECTION" REST OF SECTION HERE>
    ....

节元素中的 id 是为了让滚动 spy 能够正常工作。

并将其添加到我的 css 文件中;

span.anchor {
    margin-top: -54px; /* height of nav, in this case 54px */
    display: block;
    height: 54px; /* height of nav, in this case 54px */
    visibility: hidden;
    position: relative;
}

然后,嘿,快点!它起作用了,这个解决方案的一个好处是它不会影响任何视觉效果,它只是改变 anchor 。

关于navigation - 如何将数据偏移添加到 Bootstrap 4 固定顶部响应式导航栏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39588914/

相关文章:

android - 单击抽屉导航项目上的更改屏幕

css - Bootstrap 响应式菜单 - 如何更改较大视口(viewport)的高度

html - 修复 Bootstrap 导航栏链接向下扩展

html - 如何避免导航下拉菜单和页面其余部分之间的大填充?

html - html 菜单项中的左对齐和右对齐文本

objective-c - iOS 呈现基于模式和导航 Controller 的 View

html - 父菜单后面的 CSS 子菜单

html - Bootstrap 4 导航栏折叠菜单右对齐

html - 将导航中的图片/Unicode 字符与 Flexbox 中的文本对齐 (html/css)

html - sidenav 内容不对齐