html - 强制导航栏不与页内导航内容重叠

标签 html css twitter-bootstrap-3

我有一个带有 navbar 和一些内容的简单网页。

<div class="navbar-collapse collapse">
    <ul class="nav navbar-nav">
        <li><a id="about" href="#first">First section</a></li>
        <li><a id="about" href="#second">Second section</a></li>
    </ul>
</div>

<div class="container body-content">
    <div class="row">
        <div class="col-md-12">
            <img alt="this should be my image" />
            <h3 id="first">The first section</h3>
            <p>... content ...</p>
            <h3 id="second">The second section</h3>
            <p>... content ...</p>
        </div>
    </div>
</div>

导航栏 链接到同一页面中的部分。每当单击链接时,页面都会滚动到目标元素,但内容会被 navbar 覆盖。具体来说,如果单击指向第一部分的链接 (First),页面将滚动到第一个 h3 元素,但该元素实际上呈现在 navbar 下 元素 如何解决这个问题?参见 fiddle有关详细信息——降低结果面板的高度以更好地查看问题。

最佳答案

仅 CSS 的解决方案是将 padding 添加到 h3 id 和负的 margin 以删除多余的空格。例如:

#first, #second {
    padding-top: 200px;
    margin-top: -200px;
}

See my JSFiddle here.

关于html - 强制导航栏不与页内导航内容重叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29059234/

相关文章:

css - 如何使我的 DIV 元素更宽?为什么我的代码会失败?

twitter-bootstrap - Bootstrap 3固定顶部导航栏显示水平滚动

html - 如何增加父 div 的高度(具有特定高度)以包含子元素

php - 当使用 PHP 选择值 'other' 时如何显示 HTML 输入字段

javascript - 尝试将 svg 圆圈合并到 d3 donut 中

html - 控制缓存过期

html - 在圆圈内居中文本和容器

jquery - Bootstrap 3 轮播 : set unidirectional (vertical) transition

javascript - 在 input.checked=true/false _without_ jQuery 上触发一个事件

php - 开发成员(member)系统以包括不同的角色