2015-06-22 133 views
1

我在CSS中很糟糕,所以我無法垂直爲我的導航欄居中放置我的<li>(導航欄藥片)。這導航欄是從Twitter的引導使用flexbox在導航欄內垂直定位導航欄藥片

這裏是我的導航欄的HTML:

<div class="container"> 
    <nav class="navbar navbar-default navbar-fixed-top"> 
     <ul id="nav_pills" class="nav nav-pills" role="tablist"> 
     <li role="presentation"> 
      <a href="/">About</a> 
     </li> 
     <li role="presentation"> 
      <a href="/gallery">Gallery</a> 
     </li> 
     <li role="presentation"> 
      <a href="/news">News</a> 
     </li> 
     <li role="presentation"> 
      <a href="#history">History</a> 
     </li> 
     <li role="presentation"> 
      <a href="#contact">Contact</a> 
     </li> 
     </ul> 
    </nav> 
    </div> 

我的導航欄目前看起來像這樣:

enter image description here

我想使用flexbox以及因在瀏覽解決方案時,使用flexbox似乎是一種簡單的方式來垂直居中我的導航欄按鈕。

這是我目前試過,但它沒有工作=/

.nav li { 
    display: flex; 
    flex-direction: row; 
    align-items: baseline; 
} 

回答

5

設置display: flex<ul class="nav">,而不是項目。
還可以使用align-items: center垂直aligment:

.nav { 
 
    height: 70px; 
 
    
 
    display: flex; 
 
    justify-content: center; 
 
    align-items: center; 
 
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet"/> 
 
<div class="container"> 
 
    <nav class="navbar navbar-default navbar-fixed-top"> 
 
     <ul id="nav_pills" class="nav nav-pills" role="tablist"> 
 
     <li role="presentation"> 
 
      <a href="/">About</a> 
 
     </li> 
 
     <li role="presentation"> 
 
      <a href="/gallery">Gallery</a> 
 
     </li> 
 
     <li role="presentation"> 
 
      <a href="/news">News</a> 
 
     </li> 
 
     <li role="presentation"> 
 
      <a href="#history">History</a> 
 
     </li> 
 
     <li role="presentation"> 
 
      <a href="#contact">Contact</a> 
 
     </li> 
 
     </ul> 
 
    </nav> 
 
    </div>

+0

非常感謝! – Liondancer

1

要垂直對齊,設置列表元素線高度等於導航欄的高度並卸下前和底部填充。它不會需要Flexbox在所有:)

.nav > li > a { 
    display: block; 
    line-height: 50px; // Add 
    padding: 0 15px; // Modify 
    position: relative; 
} 

Bootply

+0

我的導航欄目前沒有任何填充。我改變了導航欄的高度,並嘗試了你的CSS,並將我的行高改爲與導航欄的高度相同。它仍然垂直居中,就像導航欄的行高沒有改變一樣。 http://postimg.org/image/hnsv1drv5/ http://dpaste.com/298F5GH – Liondancer