启动.滚动链接菜单并修复页面顶部的导航栏
Bootstrap. Scroll link menu and fix the navbar at the top of the page
我该如何执行以下操作:
- 我想在页面顶部有粘性导航栏 - 固定导航栏 - (我们称之为 NavbarMain),但是
- 当页面没有滚动时,我想在导航栏主的顶部有一行带有一些链接 - linkRow - (可能像第二个菜单)不是粘性/固定的。
所以当页面没有滚动时,我有
linkRow
NavbarMain
滚动页面后,我有:
NavbarMain
linkRow 将滚动,导航栏主将替换它并粘在顶部。
基本上我想要类似的东西:http://www.w3schools.com/html/default.asp注意到当您滚动时,顶部是隐藏的,菜单发生了?我如何在引导中实现它。
谢谢
Bootstrap有一个名为"Affix"的插件,我认为它提供了你想要的东西。
只需在HTML中包含此Javascript文件:
并阅读此处的文档以获取有关如何使用它的说明。
文档中的此示例:
<div data-spy="affix" data-offset-top="60">
</div>
当您滚动过去时,应使div 的 60 像素在屏幕顶部可见。
设置后缀插件
您需要使用后缀插件。这是一个标准的引导组件。
此插件使页面在data-offset-top
像素上滚动时修复块:
计算滚动位置时要从屏幕偏移的像素。
因此,您不需要使用 .navbar-fixed-top
类。但是你必须通过 .navbar.affix 类为固定导航栏设置一些 CSS 属性:
-
top: 0;
属性设置固定导航栏的垂直位置; -
属性
left: 0; right; 0;
强制导航栏扩展到屏幕宽度。
避免页面跳转
当导航栏固定时,它会失去页面上的空间。你现在有两个麻烦:
- 导航栏下方
的文本会跳起来并隐藏在导航栏下方。
页面高度减小。如果它小于窗口的高度,页面将向下滚动,插件会将导航栏返回到其位置。看起来导航栏不允许页面上升。
所以你需要一个CSS技巧。将margin-bottom
添加到导航栏之前的块,并向导航栏添加负margin-top
。两个边距的值必须等于未固定导航栏的高度。
@import url('https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css');
.above {
margin-bottom: 70px;
}
.navbar {
margin-top: -70px;
}
.navbar.affix {
margin-top: 0 !important;
left: 0;
right: 0;
top: 0;
}
<div class="container above">
<h1>Hello</h1>
</div>
<nav class="navbar navbar-default" data-spy="affix" data-offset-top="70">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" aria-controls="navbar" aria-expanded="false" data-target="#navbar" data-toggle="collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">Brand</a>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav navbar-right">
<li class="active"><a href="">Link 1</a></li>
<li><a href="">Link 2</a></li>
<li><a href="">Link 3</a></li>
</ul>
</div>
</div>
</nav>
<div class="container">
<p>Paragraph 1.</p><p>Paragraph 2.</p><p>Paragraph 3.</p>
<p>Paragraph.</p><p>Paragraph.</p><p>Paragraph.</p>
<p>Paragraph.</p><p>Paragraph.</p><p>Paragraph.</p>
<p>Paragraph.</p><p>Paragraph.</p><p>Paragraph.</p>
<p>Paragraph.</p><p>Paragraph.</p><p>Paragraph.</p>
<p>Paragraph.</p><p>Paragraph.</p><p>Paragraph.</p>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
相关文章:
- 单击顶部导航时如何进行向下滚动效果(向下滑动).
- 具有顶部导航和左侧导航的自定义母版页
- 固定顶部导航栏下方的响应式全屏视频
- 导航到新页面不会滚动到顶部
- 固定顶部导航的impress.js无法工作
- 基础导航顶部栏不适用于thymelaf
- HTML导航在屏幕底部,并粘贴到顶部
- 当外部链接打开Tab时,页面滚动到顶部也固定了导航栏
- 如何在wordpress中区分顶部导航菜单和车身导航菜单
- Zurb 基金会顶部导航栏具有多个后退按钮
- 如何用汉堡按钮替换固定的顶部导航
- 如何在 Office 365 加载项中启用允许从沙盒属性顶部导航
- 静态顶部导航栏仅在滚动后显示
- 如何在用户点击Twitter Bootstrap链接后自动折叠移动视图上的顶部导航栏
- 我怎么能保持超级子菜单打开后鼠标离开顶部导航按钮
- 在Magento模板Cattheme-se101顶部导航栏CSS,如何实现两行在一个块
- 获取标题的高度,并在滚动到标题之外时显示顶部导航
- 如何使底部导航栏与顶部导航栏保持一致
- 是否有可能只在移动设备上提供顶部导航?
- 顶部导航重叠垂直导航