2014-05-12 91 views
1

我试图创建一个水平的导航栏,尽管显示:inline-block;不为我工作。在Google Chrome和IE中,它仍然是垂直显示的。HTML和CSS水平列表

这是我的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> 

这是我的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

你应该给你的UL的宽度,和/或负水平保证金。现在它的宽度为零,这就是为什么浏览器决定在每个LI之后进行换行的原因。 – dkellner

+0

@ user3487529如果您得到的答案之一正在工作,请将其标记为接受的答案。如果他们不符合您的需求,请在回答下面留言让用户知道。 – caramba

回答

1

试试这个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

需要设置float:left;<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

你可以试试下面的代码:

Working Demo

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

ul#nav { 

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

}