54

我是引导框架的新手。

NavBar的Logo增加高度:

在我的导航栏中,我插入了一个高度为 50 像素的徽标。这显然使导航栏更高。我没有为此调整任何 CSS,它只是强制增加高度的徽标。

问题:

导航栏中的链接与现在更高的导航栏的顶部对齐。

目标:

我希望链接在导航栏中垂直居中,因为这样看起来会更好。


我的假设是使用行高值或填充。然而,这带来了仍然在移动浏览器上生效的问题(当它切换到切换菜单时),所以我的扩展菜单最终太高以至于看起来很傻。

任何见解都非常感谢?

我的 CSS 是使用最新版本 3.0.2 下载的默认引导 CSS。

这是我的 HTML:

<!-- Begin NavBar -->
<div class="navbar navbar-inverse navbar-static-top" role="navigation">
  <div class="container">
    <div class="navbar-header">
      <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".menu2">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
      <span class="navbar-brand" href="#"><img src="img/logo.png" width="210" height="50" alt="My Logo"></span>
    </div>


    <div class="navbar-collapse collapse menu2">

      <ul class="nav navbar-nav navbar-right">
        <li><a href="#">Link 1</a></li>
        <li><a href="#">Link 2</a></li>
        <li><a href="#">Link 3</a></li>
        <li><a href="#">Link 4</a></li>
      </ul>

    </div><!--/.nav-collapse -->
  </div>
</div>

当我真的希望它们在中心垂直对齐时,正是那些“链接 1”、“链接 2”、“链接 3”和“链接 4”链接与顶部对齐。

4

6 回答 6

97

将此添加到您的样式表中。line-height 应与您的徽标的高度相匹配

.navbar-nav li a {
 line-height: 50px;
}

查看小提琴:http: //jsfiddle.net/nD4tW/

于 2013-11-07T23:22:28.403 回答
9

马特的回答很好,但只是为了避免这种情况传播到导航栏中的其他元素(比如当你也有一个下拉菜单时),使用

.navbar-nav > li > a {
   line-height: 50px;
}
于 2015-07-16T15:24:35.790 回答
3

使用Bootstrap 定制器生成具有更高导航栏的 Bootstrap 版本。您要更改的值@navbar-height位于导航栏部分

检查您当前的实现以查看您的导航栏与 50px 品牌图像的高度,并在定制器中使用该计算高度。

于 2013-11-07T22:02:10.873 回答
2

Bootstrap 自动将导航栏的高度设置为 50px。链接上方和下方的填充设置为 15px。我认为引导程序正在为您的徽标添加填充。

您可以删除徽标上方和下方的一些填充,也可以在链接上方和下方添加更多填充。

添加更多填充应如下所示:

nav.navbar-inverse>li>a {
 padding-top: 25px;
 padding-bottom: 25px;
}
于 2014-10-02T16:29:03.533 回答
0

我发现你不一定需要垂直居中的文本,它在行的底部附近看起来也不错,只有当它位于顶部(或高于中心?)时它看起来是错误的。所以我用这个将链接推到行的底部:

.navbar-brand {
    min-height: 80px;
}

@media (min-width: 768px) {
    #navbar-collapse {
        position: absolute;
        bottom: 0px;
        left: 250px;
    }
}

我的品牌形象是 SVG,我使用height: 50px; width: auto了 216px 宽。它垂直地从容器中溢出,所以我添加了min-height: 80px;为它腾出空间加上 bootstrap 的 15px 边距。然后我调整了navbar-collapse's 的left设置,直到它看起来正确为止。

于 2017-01-21T13:59:47.080 回答
0

实际上,我最终得到了这样的结果,以允许导航栏崩溃。

@media (min-width: 768px) { //set this to wherever the navbar collapse executes
  .navbar-nav > li > a{
    line-height: 7em; //set this height to the height of the logo.
  }
}
于 2017-04-14T18:02:53.023 回答