【问题标题】:Custom height Bootstrap's navbar自定义高度 Bootstrap 导航栏
【发布时间】:2013-11-19 04:29:32
【问题描述】:

我想要一个高度为 150 像素的标题,其中包含一个导航栏。导航栏应在标题中垂直居中。

HTML

<header>
    <div class="navbar navbar-static-top">
        <div class="navbar-inner">
            <div class="container" style="background:yellow;">
                <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
                    <span class="icon-th-list"></span>
                </a>
                <a href="/"><img src="img/logo.png" class="logo" /></a>
                <nav class="nav-collapse collapse pull-right" style="line-height:150px; height:150px;">          
                    <ul class="nav" style="display:inline-block;">
                        <li><a href="">Portfolio</a></li>
                        <li><a href="">Blog</a></li>
                        <li><a href="">Contact</a></li>
                    </ul>
                </nav>
            </div>
        </div>
    </div>
</header>

CSS

header {
    width: 100%;
    line-height: 150px;
    color:red;
    height: 150px;

    .navbar-inner {
        border:0;
        border-radius: 0;
        background: blue;
        padding:0;
        margin:0;
        height: inherit;
    }
}

导航/菜单/垂直列表现在位于标题的右上角。如何让它垂直居中? bootstrap.css 未自定义。

【问题讨论】:

    标签: html css twitter-bootstrap


    【解决方案1】:

    您的标记有点混乱。这是您需要的样式和正确的 html

    CSS

    .navbar-brand,
    .navbar-nav li a {
        line-height: 150px;
        height: 150px;
        padding-top: 0;
    }
    

    HTML

    <nav class="navbar navbar-default">
        <div class="navbar-header">
            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>
    
            <a class="navbar-brand" href="#"><img src="img/logo.png" /></a>
        </div>
    
        <div class="collapse navbar-collapse">
            <ul class="nav navbar-nav">
                <li><a href="">Portfolio</a></li>
                <li><a href="">Blog</a></li>
                <li><a href="">Contact</a></li>
            </ul>
        </div>
    </nav>
    

    或查看小提琴:http://jsfiddle.net/TP5V8/1/

    【讨论】:

    • 谢谢!这可行,但是使用此代码会出现一个新问题:当我缩小窗口时,导航栏会变成一个按钮。不幸的是,当我按下按钮时没有任何反应。有什么想法吗?
    • 是的,这只是可折叠的引导导航,如果您不想要那种效果,只需删除按钮标签和封闭代码
    • 我确实想要这个效果。只是当我点击按钮时,什么都没有发生。不知何故把它修好了。
    • 你不需要padding-top:0。只需将 line-height 值减半即可。
    • 这也将使导航栏中的任何下拉菜单变得如此高。您可以通过将第二个选择器更改为 .navbar-nav &gt; li &gt; a 来解决此问题
    【解决方案2】:

    您还需要设置.min-height: 0px;请见下文:

    .navbar-inner {
        min-height: 0px;
    }
    
    .navbar-brand,
    .navbar-nav li a {
        line-height: 150px;
        height: 150px;
        padding-top: 0;
    }
    

    如果你设置.min-height: 0px;那么你可以选择任何你想要的高度!

    祝你好运!

    【讨论】:

      【解决方案3】:

      对于 Bootstrap 4,现在有 spacing utilities,因此通过导航链接上的填充来更改高度更容易。这只能在特定断点处响应式应用(即:py-md-3)。例如,在较大的 (md) 屏幕上,此导航为 120 像素高,然后缩小到移动菜单的正常高度。不需要额外的 CSS..

      <nav class="navbar navbar-fixed-top navbar-inverse bg-primary navbar-toggleable-md py-md-3">
          <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarNav" aria-expanded="false" aria-label="Toggle navigation">
              <span class="navbar-toggler-icon"></span>
          </button>
          <a class="navbar-brand" href="#">Brand</a>
          <div class="navbar-collapse collapse" id="navbarNav">
              <ul class="navbar-nav">
                  <li class="nav-item py-md-3"><a href="#" class="nav-link">Home</a></li>
                  <li class="nav-item py-md-3"><a href="#" class="nav-link">Link</a></li>
                  <li class="nav-item py-md-3"><a href="#" class="nav-link">Link</a></li>
                  <li class="nav-item py-md-3"><a href="#" class="nav-link">More</a></li>
                  <li class="nav-item py-md-3"><a href="#" class="nav-link">Options</a></li>
              </ul>
          </div>
      </nav>
      

      Bootstrap 4 Navbar Height Demo

      【讨论】:

        【解决方案4】:

        我相信你正在使用 Bootstrap 3。如果是这样,请尝试这段代码,这里是 bootply

        <header>
            <div class="navbar navbar-static-top navbar-default">
                <div class="navbar-header">
                    <a class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
                        <span class="glyphicon glyphicon-th-list"></span>
                    </a>
                </div>
                <div class="container" style="background:yellow;">
                    <a href="/">
                        <img src="img/logo.png" class="logo img-responsive">
                    </a>
        
                    <nav class="navbar-collapse collapse pull-right" style="line-height:150px; height:150px;">
                        <ul class="nav navbar-nav" style="display:inline-block;">
                            <li><a href="">Portfolio</a></li>
                            <li><a href="">Blog</a></li>
                            <li><a href="">Contact</a></li>
                        </ul>
                    </nav>
                </div>
            </div>
        </header>
        

        【讨论】:

        • 不,不是这个。这样,徽标在左上角,菜单在右下角。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-12-10
        • 2023-04-07
        • 2018-02-02
        • 2022-07-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多