背后引导导航栏空间(Space behind bootstrap navbar)

2019-09-23 15:50发布

使用引导的navbar ,我试图找出如何使它不隐藏主体部分的顶部。

其实,这是很好的使用建议在这里什么解决:

Twitter的引导-顶部导航栏挡住了页面顶部内容

但是,仍然有不工作的东西:当你有一个像这样的链接:

<li><a href="#section1">Go to Section 1</a></li>
<li><a href="#section2">Go to Section 2</a></li>
<li><a href="#section3">Go to Section 3</a></li>
<li><a href="#section4">Go to Section 4</a></li>

<h4 id="Section 1">Section 1</h4>
<p>Content of Section 1</p>
<p><a href="#">Back to Top</a></p>

<h4 id="Section 2">Section 2</h4>
<p>Content of Section 2</p>
<p><a href="#">Back to Top</a></p>

<h4 id="Section 3">Section 3</h4>
<p>Content of Section 3</p>
<p><a href="#">Back to Top</a></p>

<h4 id="Section 4">Section 4</h4>
<p>Content of Section 4</p>
<p><a href="#">Back to Top</a></p>

在这种情况下,当你点击,例如,第2节直接链接(或快捷方式),页面滚动适当向下,直到第2节,但它隐藏了它的导航栏举背后的开始。

如何任何线索这个问题能解决?

Answer 1:

通过添加:目标伪选择器链接的CSS,你可以将预定义填充到您选择的链接(只要它显示在您的浏览器为:www.example.com#链接1)。

我花了近2小时试图在网上搜索试图找到的Jquery或JS应用填充到目标股利和修改我的谷歌后的搜索字词发现了这个

可能有愚弄与旧的浏览器证明这一种方式,但暂时,这让我一个快乐的人。



Answer 2:

把一些顶级的填充你的<h4>的考虑您的navbar的高度。 即把这个在你的CSS:

h4 {
  padding-top: 30px;
}

当然,改变30px你实际的navbar的高度。



Answer 3:

我有同样的问题,还没有找到真正的解决办法,但只是更加变通方法(如“填充顶”变通本身,这似乎非常的hackish给我)。 它看起来像顶栏的问题仍然没有解决,人们只是破解它周围莫名其妙。

一个非侵入性的变通为我的作品(好,因为它可以)是下面的JavaScript添加到页面(除了“填充顶”破解版):

var shiftWindow = function() { scrollBy(0, -50) };
if (location.hash) shiftWindow();
window.addEventListener("hashchange", shiftWindow);

我在发现这个自举GitHub的问题评论 。 然而,该功能并不适用于所有必要的场合执行(如再次去同一个锚时)。

更可靠的解决办法是使用CSS相对定位(在发现移动锚位置这个StackOverflow的答案 :

a.anchor{display: block; position: relative; top: -250px; visibility: hidden;}

但是,因为你必须给你的锚类(它从链接区分),这是更具侵入性。 所以,你必须更新你所有的锚的HTML代码(这可能并不总是可能的,例如,当你正在处理一个刚性CMS生成你的锚):

<a class="anchor" id="top"></a>


文章来源: Space behind bootstrap navbar