2016-09-07 2 views
1

Ich versuche ein festes Menü mit flexbox zu erstellen. In meiner Navigationsleiste habe ich 2 divs erstellt. Zuerst sollte das Logo und das zweite Menü (mit display:flex Eigentum) enthalten. Ich habe Probleme, wenn ich das li-Element meines Menüs positionieren möchte. Ich möchte horizontale Menü, aber wenn ich justify-content:space-between hinzufügen, sollte mein erstes Element in der linken Kante des Menüs div befinden, aber es hat einen kleinen Rand und ich weiß nicht warum.Positionieren des horizontalen Menüs mit 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

Teilen Sie Ihren vollständigen Code und erwähnen Sie, welchen Fehler genau Sie bekommen. – JeetDaloneboy

+0

Sieht so aus, als hätten Sie die Ränder und den Abstand einfach nicht auf Null gesetzt - https://jsfiddle.net/bwpg01b0/1/ –

Antwort

1

Sie haben Rand hinzuzufügen: 0; zu '#menu ul'.

HTML fügt automatisch einen Rand zu nicht geordneten Listen hinzu.

#menu ul { 
     margin:0; 
} 
Verwandte Themen