我尝试在另一个div内的div上添加边距值.一切正常,除了最高值,它似乎被忽略了.但为什么?
我的期望:

我得到了什么:

码:
#outer {
width: 500px;
height: 200px;
background: #FFCCCC;
margin: 50px auto 0 auto;
display: block;
}
#inner {
background: #FFCC33;
margin: 50px 50px 50px 50px;
padding: 10px;
display: block;
}Run Code Online (Sandbox Code Playgroud)
<div id="outer">
<div id="inner">
Hello world!
</div>
</div>Run Code Online (Sandbox Code Playgroud)
W3Schools没有解释为什么保证金的行为方式.
html结构:
#main {
margin: 0 auto;
width: 960px;
}
#left {
float: left;
border: 1px solid red;
width: 300px;
margin-right: 10px;
height: 500px;
}
#right {
float: right;
border: 1px solid green;
width: 500px;
height: 500px;
}
#footer {
clear: both;
margin-top: 20px;
border: 1px solid lime;
height: 200px;
}Run Code Online (Sandbox Code Playgroud)
风格:
<div id="main">
<div id="left"></div>
<div id="right"></div>
<div id="footer"></div>
</div>Run Code Online (Sandbox Code Playgroud)
为什么 margin-top: 20px;页脚不起作用?原因可能是什么原因造成的?