2014-05-12 4 views
1

J'essaie de créer une barre de navigation qui est horizontale bien que l'affichage: inline-block; ne travaille pas pour moi. Sur Google Chrome et IE, il apparaît toujours verticalement.HTML et CSS Liste horizontale

Ceci est mon code HTML.

<!DOCTYPE html> 
<html lang="en"> 
    <head> 
     <title>Clowning Around</title> 
     <link rel="stylesheet" href="style.css"> 
     <meta charset="utf-8"> 
    </head> 
    <div id="header"> 
      <div class="wrap"> 
       <div class="logo"> 
        !# insert logo picture 
       </div> 
    <div id ="content"> 
       <ul id="nav"> 
         <li><a href="/home/">Home</a></li> 
         <li><a href="/about/">About Us</a></li> 
         <li><a href="/news/">News & Events</a></li> 
         <li><a href="/classes/">Classes & Camps</a></li> 
         <li><a href="/gallery/">Gallery</a></li> 
         <li><a href="/contact/">Contact us</a></li> 
         <li><a href="/enrol/">Enrol Now</a></li> 
       </ul> 
      </div> 

Ceci est mon CSS

#content { 
    width: 40em; 
    margin: 0 auto; 
    padding: 40px 0; 
} 

ul#nav { 
    position: absolute; 
    right: 50%; 
    left: 50%; 
    list-style: none; 
    margin: 0; 
    padding: 0; 

} 

ul#nav li a { 
    float: left; 
    display: inline-block; 
    padding: 8px 5px 3px 5px; 
    margin-right: 5px; 
    background-color: #034a7f; 
    text-decoration: none; 
    padding: .2em 1em; 
+0

Vous devez donner votre UL une largeur et/ou négatif horizontal marge. En ce moment, c'est zéro largeur, c'est pourquoi le navigateur décide d'envelopper après chaque LI. – dkellner

+0

@ user3487529 Si l'une des réponses que vous obtenez fonctionne, veuillez la marquer comme réponse acceptée. Si elles ne correspondent pas à vos besoins, veuillez commenter la réponse ci-dessous pour en informer les utilisateurs. – caramba

Répondre

1

Essayez cette css:

#content { 
    width: 40em; 
    margin: 0 auto; 
    padding: 40px 0; 
} 

ul#nav { 
    position: relative; 
    list-style: none; 
    margin: 0; 
    padding: 0; 

} 

ul#nav li { 
    position: relative; 
    float: left; 
    display: inline-block; 
    padding: 8px 5px 3px 5px; 
    margin-right: 5px; 
    background-color: #034a7f; 
    text-decoration: none; 
    padding: .2em 1em; 
} 
1

vous devez définir float:left; au <li>

http://jsfiddle.net/ySE2V/

ul#nav li { 
    float: left; 
} 
ul#nav li a { 
    display: inline-block; 
    padding: 8px 5px 3px 5px; 
    margin-right: 5px; 
    background-color: #034a7f; 
    text-decoration: none; 
    padding: .2em 1em; 
} 
0

ul 
{ 
    list-style-type:none; 
    margin:0; 
    padding:0; 
    overflow:hidden; 
} 
li 
{ 
    float:left; 
} 
a 
{ 
    display:block; 
    padding: 8px 5px 3px 5px; 
    margin-right: 5px; 
    background-color: #034a7f; 
} 

0

Vous pouvez ci-dessous le code:

Working Demo

#content { 
    width: 50em; 
    margin: 0 auto; 
    padding: 40px 0; 
} 

ul#nav { 

    right: 50%; 
    left: 50%; 
    list-style: none; 
    margin: 0; 
    padding: 0; 

}