0

这是我设置的一个小提琴来说明问题。

http://jsfiddle.net/rgfjL/13/

这是代码

HTML

<div class="body">
    <div class="contact-form" class="clearfix">
        <p> asdsasadsad </p>
    </div>
<div>

CSS

div.body {
  display: block;
  height: 800px;
  width: 1024px;
  background: #474747;
}

div.contact-form {
  display: block;
  background-color:#F2F7F9;
  height: 600px;
  width:465px;
  padding:20px;
  margin: 250px auto;
  border: 6px solid #8FB5C1;
 -moz-border-radius:15px;
 -webkit-border-radius:15px;
  border-radius:15px;
}​

正如您在小提琴中看到的那样,表单 div 与 body div 的顶部齐平。更改表单上的上边距会将它们都向下推。

4

4 回答 4

2

因为这是崩溃的边距

div.body {
    overflow: hidden;
 }

现场演示http://jsfiddle.net/rgfjL/15/

更多信息http://reference.sitepoint.com/css/collapsingmargins

于 2012-07-13T06:55:49.957 回答
0

申请overflow: hidden;班级body

于 2012-07-13T07:02:20.940 回答
0

使用溢出:隐藏;在 div.body 上将导致 div.contact-form 被切断。

代替 div.contact-form 上的 margin-top,在 div.body 上添加 padding-top。

于 2012-07-13T07:12:39.027 回答
0

这就是你必须让它工作的方式:http: //jsfiddle.net/rgfjL/16/

<div class="body">
            <div class="contact-form" class="clearfix">
                <p> asdsasadsad </p>
    </div>
<div>

div.body {
    display: block;
    height: 800px;
    width: 1024px;
    background: #474747;
    padding-top:250px;
}


div.contact-form {
    display: block;
    background-color:#F2F7F9;
    height: 600px;
    width:465px;
    padding:20px;
    margin: 0 auto;
    border: 6px solid #8FB5C1;
    -moz-border-radius:15px;
    -webkit-border-radius:15px;
    border-radius:15px;
}
于 2012-07-13T10:03:03.860 回答