0

我想创建菜单栏及其内容如下,但内容显示在另一个下方:

HTML:

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Login</title>
    <link rel="stylesheet" type="text/css" href="style.css"/>
</head>
<div class="menuheader"> Facebook, Twitter, Youtube </div>
<div class="menu">
    <ul>  Home </ul>
    <ul> About Us 
        <li>  Establishment </li>
    </ul>
    <ul>  Careers  
        <li>  Current Openings  </li>
        <li>  Working with us  </li>
        <li> Work Culture  </li>
    </ul>
    <ul>  Contact Us  </ul>
</div>

CSS:

.menu{
    background-color:#999999;
    color:#FFFFFF;
    width:940px;
    height:50px;
    margin:20px;
    padding:20px;
    font-size:12px;
    float:left;
}
4

2 回答 2

1

float:left 正在工作,但是,您向右填充 20px 会导致问题。我为你做了一个小提琴, http: //jsfiddle.net/tsJ7r/1/ 更改:

  padding:20px;

至:

padding:0px; 

它应该可以工作如果您希望除了左侧之外的所有侧面都有填充,您可以使用

padding-top:20px;
padding-bottom:20px;
于 2013-02-17T14:12:49.967 回答
1

您的无序列表标记不正确。尝试这样的事情:

<ul class="menu">
    <li>Home</li>
    <li>About Us</li>
    <li>Careers
       <ul>
           <li>Current Openings</li>
           <li>Working With Us</li>
           <li>Working Culture</li>
       </ul>
    </li>
    <li>Contact Us</li>
</ul>

然后您的 CSS 将如下所示:

ul.menu {
    float: left;
}

ul.menu li {
     float: left;
     padding: 20px;
     // etc.
}
于 2013-02-17T14:20:42.267 回答