css - 对div的困惑

标签 css html overlap

我想知道是否有人可以帮助我弄清楚为什么我的导航菜单似乎在我的主 div 中,而当它不是那样编码时。我猜CSS是问题所在。恐怕有很多代码,但我不知道问题出在哪里,所以我无法将其隔离....

<!DOCTYPE html>
<html>
<head>
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>

<div id="container">
    <div id="header"><p><img src="images/logo.png" alt="logo" /></p></div><!--header-->
    <div id="navbar">
        <div id="holder">
        <ul> 

   <li><a href="#" id="onlink">Home</a></li>
   <li><a href="#">My Approach</a></li>
   <li><a href="#">Testimonials</a></li>
   <li><a href="#">Fees</a></li>
   <li><a href="#">Contact</a></li>

        </ul>

        </div><!--holder(navbar)-->
    </div><!--navbar-->
    <div id="main">main</div><!--main-->

</div><!--container-->
<body>
</html>

CSS:

body {
    background-image: url(images/colorful7.jpg);
}
#container {
    width: 960px;
    float: none;
    margin: auto;
    height: auto;
}
#header {
    height: 350px;
    width: 940px;
    padding: 10px;
    }
#navbar {
    background: none;
    height:40px;/*40*/
    width:960px;
    float:right;
 } 

 #navbar #holder {
    height:40px;
    width:725px;/*725*/
    float: right;
 } 

 #navbar #holder ul {
  list-style:none;
  margin:0;
  padding:0; 
 } 

 #navbar #holder ul li a {
    text-decoration:none;
    float:left;
    line-height:20px;
    font-family:Arial, Helvetica, sans-serif;
    font-size:16px;
    font-weight:600;
    color:#660033;
    border-bottom:none;
    padding:10px;
    width:120px;
    text-align:center;
    display:block;
    background:#FFC;
    -moz-border-radius-topleft:10px;
    -moz-border-radius-topright:10px;
    -webkit-border-top-left-radius:10px;
    -webkit-border-top-right-radius:10px;
    margin-left: 5px;
 } 

 #navbar #holder ul li a:hover {
    background:#660033;
    color:#FFC;

 } 
#holder ul li a#onlink {
    background:#660033;
    color:#FFC;
 } 

 #holder ul li a#onlink:hover {
  background:#660033;
  color:#white;
  text-shadow:1px 1px 1px #000; 
 }
 #main{
    background-color: #FFC;
    height: 400px;
    width: 960px;
    padding: 10;
}

这是一个直播 jsFiddle

最佳答案

添加

clear: both;

#main - 清除导航栏后 float 的规则。 fiddle :http://jsfiddle.net/GGSk2/2/

关于css - 对div的困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11028832/

相关文章:

java - 针对 HashMap 中的所有值查找值

html - 如何在之前和之后使用带有背景颜色的插图框阴影?

javascript - Angular Fire,嵌套 ng-repeat

c# - 正则表达式中的重叠匹配

asp.net - 将 ASP.Net cookie 限制为应用程序

javascript - 创建拖放菜单

javascript - CSS 网格效果问题

jquery - 无法通过 jquery 获取要切换/添加的类

html - Bootstrap 表 : change row color by data value

css - Div 不适合容器