【发布时间】:2012-11-07 11:43:10
【问题描述】:
所以,问题在于折叠边距。
按照这个例子:http://jsfiddle.net/2ausj/
代码:
<!DOCTYPE html>
<html lang="fr">
<head>
<title>Page</title>
<meta http-equiv="content-Type" content="text/html; charset=UTF-8" />
<link type="text/css" rel="stylesheet" media="screen, tv, projection" href="css/style.css" />
</head>
<body>
<div id="main">
<div id="home" class="main"></div>
<div class="main"></div>
<p></p>
<div class="main"></div>
<div class="main"></div>
<div class="main"></div>
<div class="main"></div>
<div class="main"></div>
</div>
</body>
</html>
和CSS
html { overflow: hidden;}
body {
background: transparent url('../images/background.jpg') repeat;
}
#main { background: blue; padding: 1px; border: 1px;}
.main {
max-width: 1000px;
height: 200px;
background: red;
margin: 50px auto;
position: relative;
position: absolute;
}
p { height: 1px; }
我有一些 div。在这种情况下,每个顶部和底部都有 50px 的边距,但在 div 之间,只有 50 像素的边距而不是 100 像素
我阅读了很多关于折叠边距的文章,所有文章都说要为父级设置填充或边框。我试图将 div 直接放在 body 中并为 body 设置 padding,我试图在我的 div 上设置 padding,我试图将我的 div 放在一个容器 div 中并为他设置 padding 或边框,似乎没有任何效果。
我找到的唯一解决方案但它很脏,正如您在我的示例中看到的那样,在 div 之间放置一个高度为 1px 的元素。然后,div之间终于有了100px,甚至是101,因为1px
.
我希望有一个更好的解决方案,并且也理解为什么我尝试过的所有方法都不起作用。
请原谅我的英语不好(不是我的错,我是法国人)并提前感谢:)
【问题讨论】: