我有这个Twitter Bootstrap代码
<div class='navbar navbar-fixed-top'>
<div class='navbar-inner'>
<div class='container'>
<a class='btn btn-navbar' data-target='.nav-collapse' data-toggle='collapse'>
<span class='icon-bar'></span>
<span class='icon-bar'></span>
<span class='icon-bar'></span>
</a>
<div class='nav-collapse'>
<ul class='nav'>
<li class='active'>
<a href='some_url'>My Home</a>
</li>
<li>
<a href='some_url'>Option 1 </a>
</li>
<li>
<a href='some_url'>Another option</a>
</li>
<li>
<a href='some_url'>Another option</a>
</li>
</ul>
</div>
</div>
</div>
</div>
但是当我查看页面的开头时,导航栏会阻止页面顶部附近的一些内容 . 如果在查看页面顶部时如何降低其余内容,以便内容不会被导航栏阻止,是否有任何想法?
17 回答
添加到您的CSS:
来自Bootstrap docs:
如果您使用响应式引导程序,那么添加这样的填充是不够的 . 在这种情况下,当您调整窗口大小时,您将在页面顶部和导航栏之间产生间隙 . 一个合适的解决方案如下:
对于bootstrap 3,类
navbar-static-top
而不是navbar-fixed-top
可以防止出现此问题,除非您需要始终显示导航栏 .一个更方便的解决方案供您参考,它在我的所有项目中都很完美:
改变你的第一个'div'
至
我正在使用jQuery来解决这个问题 . 这是BS 3.0.0的片段:
我在真正的固定导航栏之前创建了一个虚拟的非固定导航栏,取得了很大的成功 .
所有屏幕尺寸的间距都很大 .
在我从MVC 5 tutorial派生的项目中,我发现改变身体填充没有效果 . 以下对我有用:
它解决了导航栏折叠成2或3行的情况 . 这可以在行身体{margin:0;之后的任何地方插入bootstrap.css }
如在Twitter的this example上所见,在包含响应样式声明的行之前添加此内容:
像这样:
bootstrap v4 starter template css使用:
使用 navbar navbar-default 一切正常,但如果您使用的是 navbar-fixed-top ,则必须包含自定义样式正文{padding-top:60px;}否则会阻止下面的内容 .
使用MVC 5,我修复我的方法是简单地添加我自己的Site.css,加载其他的,使用以下行:
body{padding: 0}
并且我在_Layout.cshtml的开头更改了代码:
使用
percentage
是比pixels
好得多的解决方案 .如果需要,你仍然可以通过添加
breakpoints
,如@spajus
在另一个答案中提到的那样这里会出现两个问题:
页面加载(内容隐藏)
这样的内部链接将滚动到顶部,并被导航栏隐藏:
<a href="#hello">你好</a> <! - 点击向下滚动 - >
<hr style =“margin:100px”> <h1 id =“hello”> World </ h1> <! - 帮助!我隐藏了70像素! - >
Bootstrap 4 w /内部页面链接
要修复1),正如Martijn Burger上面所说,bootstrap v4启动模板css使用:
要修复2)请查看this issue . 这段代码大部分都有效(但不是第二次点击相同的哈希):
这段代码用jQuery(不是瘦jQuery)动画链接:
你应该补充一下
不要破坏粘性页脚或其他东西
如果您的导航栏最初位于页面顶部,请将值设置为0.否则,请将
data-offset-top
的值设置为导航栏上方内容的值 .同时,你需要修改
css
:添加到你的JS:
您可以根据屏幕分辨率设置边距