-1

I'm trying to vertically align center a div in bootstrap <header> but it does not work (please before voting down visit JSFiddle link!):

<div style="display: table-cell; height: 50px; vertical-align: middle;">
    <button type="button" class="btn btn-default navbtn">
        <span class="glyphicon glyphicon-leaf"></span>
    </button>
    <button type="button" class="btn btn-default navbtn" >
        <span class="glyphicon glyphicon-cog"></span>
    </button>
    <div id="navbar-search">
        <button type="button" class="btn btn-default navbar-search-btn" >
            <span class="fa fa-search"></span>
        </button>
        <input type="search" class="navsearch" />
    </div>
</div>

When I remove navbar-search div buttons are fine. enter image description here

JSFiddle: http://jsfiddle.net/maysamsh/Rp94k/1/

Note: Search container has display:inline-block; and makes it stick to the top, I can't remove it.

Community
  • 1
  • 1
Maysam
  • 7,246
  • 13
  • 68
  • 106
  • Duplicate (one of many); see answer here: http://stackoverflow.com/questions/24918443/vertically-centering-image/24918655#24918655 . In this situation your div (navbar-search) may likely be display: block...so it can't be in a single line with the button elements. – Jason Jul 24 '14 at 17:22
  • No it's not the same. Search container div has ```display:inline-block;```. – Maysam Jul 24 '14 at 17:26

2 Answers2

1

You need to add .navbar-btn to buttons to vertically center them. See Bootstrap Docs for further details.

Semantically if it's a nav it should be in a nav HTML5 element. Anyway, your columns are too wide and are pushing down the icons (columns taking up 100% of the width leave no room for anything else).

See Fiddle using pretty much base Bootstrap

  <nav class="navbar navbar-default" role="navigation">
  <div class="container-fluid">
    <div class="row"> 
        <div class="col-sm-6">
            <div class="row">
            <div class="col-sm-5">1</div>
            <div class="col-sm-2">2</div>
            <div class="col-sm-5">3</div>
            </div>
        </div>
        <div class="col-sm-6 navbar-right">
            <div class="row">
      <div class="col-sm-8">
          <form class="navbar-form navbar-right" role="search">
              <div class="input-group">
                  <input type="text" class="form-control" placeholder="Search" name="q">
                      <div class="input-group-btn">
                          <button class="btn btn-default" type="submit">
                              <i class="glyphicon glyphicon-search">
                              </i>
                          </button>
                      </div>
                  </div>
              </form><!--/form-->
          </div><!--/form column-->
          <div class="col-sm-4">
              <button type="button" class="btn btn-default navbtn navbar-btn">
                  <span class="glyphicon glyphicon-leaf"></span>
              </button> 
              <button type="button" class="btn btn-default navbtn  navbar-btn" >
                  <span class="glyphicon glyphicon-cog"></span>
              </button>
            </div><!--/buttons column-->
            </div><!--/row column-->
        </div><!--/right column-->
      </div><!--/row-->
   </div><!--/container-->
</nav> <!--/nav-->
Aibrean
  • 6,297
  • 1
  • 22
  • 38
1

html

<header class="navbar">
        <div class="container-fluid expanded-panel">
            <div class="row" dir="rtl">
                <div class="col-sm-5">
                    3

                </div>
                <div class="col-sm-2">
                    2
                </div>
                <div class="col-sm-5">
                    <div style="display: table;">

                        <button type="button" class="btn btn-default navbtn">
                            <span class="glyphicon glyphicon-leaf"></span>
                        </button>
                        <button type="button" class="btn btn-default navbtn" >
                            <span class="glyphicon glyphicon-cog"></span>
                        </button>
                        <div id="navbar-search" style="display: table-cell;">
                            <button type="button" class="btn btn-default navbar-search-btn" >
                                <span class="fa fa-search"></span>
                            </button>
                            <input type="search" class="navsearch" />
                        </div>
                    </div>
                </div>
            </div>

        </div>
    </header>

css

.navbar{
    background-color:#fff;
    border-bottom:#eee solid 1px;
}
.navbtn {
    font-size:large;
    margin-left: 5px;
}
.navsearch{
    text-align: right;
    -webkit-border-radius: 15px 0 0 15px;
    border-radius: 15px 0 0 15px;
    outline: none;
    background: #eee;
    cursor: inherit;
    display:inline-block;
    border:none;
    padding:5px;
    height:35px;
}
#navbar-search{
    display:inline-block;
    float:none;
    margin-top:10px;
}
.navbar-search-btn{
    -webkit-border-radius: 0 15px 15px 0;
    border-radius: 0 15px 15px 0;
    display:inline;
    float:right;
    border:none;
    background: #eee;
    height:35px;

}

fiddle: http://jsfiddle.net/monzoor/TC9UH/1/

Monzoor Tamal
  • 790
  • 5
  • 15