CSS div定位不如预期

时间:2013-10-20 16:39:34

标签: html css

我在我的网站上创建了两个div。具有彩色aqua的第一个div的高度为200px。下一个div后来给了一些填充。但是原来div的高度现在已经降低了。它不再是200px了。请建议一种方法在第一个div之后不久放置第二个div而不减少/重叠第一个div。

HTML

<!doctype html>
<html>
<head>
<title>Title</title>
<link rel="stylesheet" type="text/css" href="style.css" >
<script src="JavaScript.js"></script>
</head>
<body>
<div>
<ul id="nav">
            <li id="click"><a href="#">Contact</a></li>
            <li> <a href="#">Blog</a></li>
            <li> <a href="#">Work</a></li>
            <li> <a href="#">About</a></li>
            <li> <a href="#">Home</a></li>
</ul>
</div>
<div>
<img src="image.jpg" style="width: 100%">
</div>
<div id="tagline">
<p>Miss Baker's flight was another milestone in the history of space flight…</p>
<div>
<div style="padding: 200px; background-color: red">
<p>Haha, it worked!!!</p>
</div>
</body>
</html>

CSS

body {
margin: 0;
}
#nav {
    list-style-type: none;
    margin: 0;
    padding: 0;
}
#nav li {
    width: 20%;
    float: left;
    text-align: center;
    display: inline;
}
#nav li a {
line-height: 40px;
    display: block;
    padding: 0.5em 5px;
    text-decoration: none;
    font-weight: bold;
    color: #F2F2F2;
    -webkit-box-shadow: 3px 3px 3px rgba(51,51,51,0.3);
    box-shadow: 3px 3px 3px rgba(51,51,51,0.3);
}
#nav a:link, #nav a:visited {
    background-color: #071726;
}
#nav a:hover, #nav a:active, #nav a:focus {
    background-color: #326773;
}
#tagline {
height: 200px;
background-color: aqua;
}

img {display:block;}
p {margin:0;}

这是小提琴

http://jsfiddle.net/uxrN5/

2 个答案:

答案 0 :(得分:2)

最可能的罪魁祸首是第23行:

<div>

你可能意味着:

</div>

此更改既可以使HTML有效,也可以使红色div元素成为标语的兄弟,而不是孩子,这可能是你想要的。

http://jsfiddle.net/uxrN5/3/

答案 1 :(得分:0)

因为你不小心错过关闭标语div而发生了重叠:

<div id="tagline">
<p>Miss Baker's flight was another milestone in the history of space flight…</p>
</div>
<div style="padding: 200px; background-color: red">
<p>Haha, it worked!!!</p>
</div>