如何在折叠时保持菜单高度较小的同时增加Bootstrap 3 Navbar高度

时间:2013-12-12 20:28:32

标签: css twitter-bootstrap

我正在尝试将顶部固定的Bootstrap 3导航栏的高度增加到80px,但是当菜单折叠时(即屏幕宽度小于768px),我希望将原始最小高度保持在50px。

HTML:

<!-- Navigation Bar -->
<div class="navbar navbar-inverse navbar-fixed-top" role="navigation">
<a class="navbar-brand" href="#">Project</a>
  <div class="container">
    <div class="navbar-header">
      <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
        <span class="sr-only">Project</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
    </div>
    <div class="collapse navbar-collapse">
      <ul class="nav navbar-nav">
        <li class="active"><a href="#">Home</a></li>
        <li><a href="#about">Services</a></li>
        <li><a href="#contact">Contact</a></li>
        <li><a href="#contact">Support</a></li>
      </ul>
    </div><!--/.nav-collapse -->
  </div>
<!-- Navigation Bar End -->
</div>

我正在使用以下CSS并成功更改了导航栏高度,但折叠的菜单高度仍为80px:

.navbar-fixed-top {
min-height: 80px;
}

@media (min-width: 768px) {
.navbar {
border-radius: 4px;
min-height: 50px;
 }
}

enter image description here

2 个答案:

答案 0 :(得分:55)

我终于自己开发了一个解决方案。您必须创建一个媒体查询,将折叠菜单的行高保持在20px,屏幕宽度最高可达767px。我的style.css中的以下CSS覆盖了boostrap.css并解决了我的问题:

.navbar-fixed-top {
    min-height: 80px;
}

.navbar-nav > li > a {
    padding-top: 0px;
    padding-bottom: 0px;
    line-height: 80px;
}

@media (max-width: 767px) {
    .navbar-nav > li > a {
    line-height: 20px;
    padding-top: 10px;
    padding-bottom: 10px;}
}

答案 1 :(得分:-1)

你的逻辑是倒退的。现在它只适用于宽度超过768px的50px高度。这应该解决它:

.navbar-fixed-top {
    min-height: 80px;
}

.navbar-fixed-top .navbar-collapse {
    max-height: 80px;
}

@media (min-width: 768px) {
    .navbar-fixed-top .navbar-collapse {
        max-height: 50px;
    }
}