2016-09-07 44 views
1

我正在嘗試使用flexbox進行固定菜單。在我的導航欄中,我創建了2個div。首先應該包含徽標和第二個菜單(使用display:flex屬性)。當我想要放置菜單的li元素時,我遇到了問題。我想要水平菜單,但是當我添加justify-content:space-between時,我的第一個元素應該位於菜單div的左邊緣,但它有一個小的邊距,我不知道爲什麼。使用flexbox定位水平菜單

https://jsfiddle.net/4Lmu08yc/

header { 
 
    height:100vh; 
 
    background-color:yellow; 
 
    width:100vw; 
 
    max-width:100%; 
 

 
} 
 

 
.navbar { 
 
    width:100vw; 
 
    background-color:grey; 
 
    height:7vh; 
 
    max-width:100%; 
 
    position:fixed; 
 
    border-bottom:5px solid white; 
 
    z-index:2; 
 

 
} 
 

 
.flex_row { 
 
    display:flex; 
 
    flex-direction:row; 
 
} 
 

 
.container{ 
 
    height:100%; 
 
    width:100vw; 
 
    max-width:100%; 
 
    background-color:green; 
 
    display:flex; 
 
} 
 

 

 
#logo { 
 
    height:100%; 
 
    background-color:white; 
 
    flex-grow:1; 
 
} 
 

 
#menu { 
 
    height:100%; 
 
    background-color:yellow; 
 
    flex-grow:1; 
 
} 
 

 
#menu ul { 
 
    list-style-type:none; 
 
    justify-content:flex-start; 
 
    align-content:flex-end; 
 

 
} 
 

 
#menu ul li { 
 

 
    border:1px solid black; 
 
    line-height:40px; 
 
}
<header> 
 
<div class="container"> 
 
<div class="navbar flex_row"> 
 
    <div id ="logo"></div> 
 
    <div id ="menu"> 
 
     <ul class="flex_row"> 
 
      <li><a href="#">text1</a></li> 
 
      <li><a href="#">text2</a></li> 
 
      <li><a href="#">text3</a></li> 
 
      <li><a href="#">text4</a></li> 
 
     </ul> 
 
    </div> 
 
</div> 
 
</div> 
 
</header>

+0

分享你的完整代碼,並提及你正在得到什麼錯誤。 – JeetDaloneboy

+0

看起來像你只是forg0t零邊緣和填充 - https://jsfiddle.net/bwpg01b0/1/ –

回答

1

你必須增加保證金:0;到'#menu ul'。

HTML會自動爲無序列表添加一個頁邊空白。

#menu ul { 
     margin:0; 
}