Decreasing height of bootstrap 3.0 navbar

前端 未结 9 1762
一向
一向 2020-12-02 04:23

I am trying to decrease bootstrap 3.0 navbar height which is used with fixed top behavior. Here i am using code.

HTML

相关标签:
9条回答
  • 2020-12-02 05:05

    After spending few hours, adding the following css class fixed my issue.

    Work with Bootstrap 3.0.*

    .tnav .navbar .container { height: 28px; }
    

    Work with Bootstrap 3.3.4

    .navbar-nav > li > a, .navbar-brand {
        padding-top:4px !important; 
        padding-bottom:0 !important;
        height: 28px;
    }
    .navbar {min-height:28px !important;}
    

    Update Complete code to customize and decrease height of navbar with screenshot.

    enter image description here

    CSS:

    /* navbar */
    .navbar-primary .navbar { background:#9f58b5; border-bottom:none; }
    .navbar-primary .navbar .nav > li > a {color: #501762;}
    .navbar-primary .navbar .nav > li > a:hover {color: #fff; background-color: #8e49a3;}
    .navbar-primary .navbar .nav .active > a,.navbar .nav .active > a:hover {color: #fff; background-color: #501762;}
    .navbar-primary .navbar .nav li > a .caret, .tnav .navbar .nav li > a:hover .caret {border-top-color: #fff;border-bottom-color: #fff;}
    .navbar-primary .navbar .nav > li.dropdown.open.active > a:hover {}
    .navbar-primary .navbar .nav > li.dropdown.open > a {color: #fff;background-color: #9f58b5;border-color: #fff;}
    .navbar-primary .navbar .nav > li.dropdown.open.active > a:hover .caret, .tnav .navbar .nav > li.dropdown.open > a .caret {border-top-color: #fff;}
    .navbar-primary .navbar .navbar-brand {color:#fff;}
    .navbar-primary .navbar .nav.pull-right {margin-left: 10px; margin-right: 0;}
    .navbar-xs .navbar-primary .navbar { min-height:28px; height: 28px; }
    .navbar-xs .navbar-primary .navbar .navbar-brand{ padding: 0px 12px;font-size: 16px;line-height: 28px; }
    .navbar-xs .navbar-primary .navbar .navbar-nav > li > a {  padding-top: 0px; padding-bottom: 0px; line-height: 28px; }
    .navbar-sm .navbar-primary .navbar { min-height:40px; height: 40px; }
    .navbar-sm .navbar-primary .navbar .navbar-brand{ padding: 0px 12px;font-size: 16px;line-height: 40px; }
    .navbar-sm .navbar-primary .navbar .navbar-nav > li > a {  padding-top: 0px; padding-bottom: 0px; line-height: 40px; }
    

    Usage Code:

    <div class="navbar-xs">
       <div class="navbar-primary">
           <nav class="navbar navbar-static-top" role="navigation">
              <!-- Brand and toggle get grouped for better mobile display -->
              <div class="navbar-header">
                  <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-8">
                     <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="#">Brand</a>
              </div>
              <!-- Collect the nav links, forms, and other content for toggling -->
              <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-8">
                  <ul class="nav navbar-nav">
                      <li class="active"><a href="#">Home</a></li>
                      <li><a href="#">Link</a></li>
                       <li><a href="#">Link</a></li>
                  </ul>
              </div><!-- /.navbar-collapse -->
          </nav>
      </div>
    </div>
    
    0 讨论(0)
  • 2020-12-02 05:08

    Wanted to added my 2 pence and a thank you to James Poulose for his original answer it was the only one that worked for my particular project (MVC 5 with the latest version of Bootstrap 3).

    This is mostly aimed at beginners, for clarity and to make future edits easier I suggest you add a section at the bottom of your CSS file for your project for example I like to do this:

    /* Bootstrap overrides */
    
    .some-class-here {
    }
    

    Taking James Poulose's answer above I did this:

    /* Bootstrap overrides */   
    .navbar-nav > li > a { padding-top: 8px !important; padding-bottom: 5px !important; }
    .navbar { min-height: 32px !important; }
    .navbar-brand { padding-top: 8px; padding-bottom: 10px; padding-left: 10px; }
    

    I changed the padding-top values to push the text down on my navbar element. You can pretty much override any Bootstrap element like this and its a good way of making changes without screwing up the Boostrap base classes because the last thing you want to do is make a change in there and then lose it when you updated Bootstrap!

    Finally for even more separation I like to split up my CSS files and use @import declarations to import your sub-files into one main CSS File for easy management for example:

    @import url('css/mysubcssfile.css');
    

    note: if you're pulling in multiple files you need to make sure they load in the right order.

    Hope this helps someone.

    0 讨论(0)
  • 2020-12-02 05:15

    Simply override the min-height set in .navbar like so:

    .navbar{
      min-height:20px; //* or whatever height you require
    }
    

    Altering an elements height to something smaller than the min-height won't make a difference...

    0 讨论(0)
  • 2020-12-02 05:16

    Working solution:

    Bootstrap 3.0 by default has a 15px padding on top and bottom, so we just need to override it!

    For example:

    .navbar-nav > li > a {padding-top:10px !important; padding-bottom:10px !important;}
    .navbar {min-height:40px !important}
    
    0 讨论(0)
  • 2020-12-02 05:16

    I think we can write this fewer styles, without changing the existing color. The following worked for me (in Bootstrap 3.2.0)

    .navbar-nav > li > a { padding-top: 5px !important; padding-bottom: 5px !important; }
    .navbar { min-height: 32px !important; }
    .navbar-brand { padding-top: 5px; padding-bottom: 10px; padding-left: 10px; }
    

    The last one ('navbar-brand') is actually needed only if you have text as your 'brand' name.

    0 讨论(0)
  • 2020-12-02 05:17

    This is my experience

     .navbar { min-height:38px;   }
     .navbar .navbar-brand{ padding: 0 12px;font-size: 16px;line-height: 38px;height: 38px; }
     .navbar .navbar-nav > li > a {  padding-top: 0px; padding-bottom: 0px; line-height: 38px; }
     .navbar .navbar-toggle {  margin-top: 3px; margin-bottom: 0px; padding: 8px 9px; }
     .navbar .navbar-form { margin-top: 2px; margin-bottom: 0px }
     .navbar .navbar-collapse {border-color: #A40303;}
    

    change height of navabr to 38px

    0 讨论(0)
提交回复
热议问题