深入css中的margin
第一:margin-top
css代码(元素没有任何定位的情况下,并且元素默认为block)
<style type="text/css">
/*这里值得注意的一点是:
所以当inner元素设置margin-top的时候
它margin的对象是我们的body
而不是我们的outer元素
要控制我们的inner 只能使用我们的padding;
或则把inner改成是inline-block;
*/
.inner{
width:100px;
height:100px;
background:green;
margin-top:130px;
}
.outer{
width:200px;
height:200px;
background:blue;
display:block;
}
</style>
html
<div class="outer">
<div class="inner"></div>
</div>
效果:(原因,div默认的是我们块级元素,它是独占一行的,当margin-top的时候,整个行,都会移动,再看看我们margin-left 就会明白了)
ps:如果元素浮动起来情况又不一样了
接下来我们将inner元素display改成inline-block后看效果;
第二:关于margin-right
css:
/*
我们的div默认的是块级别元素;
它会独占一行,
所以当我们设置它的margin-right是没有效果的;
*/
.outer{
width:200px;
height:200px;
background:blue;
display:block;
margin-right:10px;
margin-right:1000px;/*都是同样的效果滴呀*/
}
效果:原地不动,也就是我们的margin-right没效果;(原因:还是因为它是块级别元素,会占领整个一行)
第三:margin-left
css
.outer{
width:200px;
height:200px;
background:blue;
}
.inner{
width:100px;
height:100px;
background:red;
/*但是很奇怪额事情是
当我们margin-left的时候却不会
“带动”我们的outer滴呀
*/
margin-left:300px;
}
html
<div class="outer">
<div class="inner"></div>
</div>
效果:
关于margin,
我们还得看具体的情况,块级元素,内联元素,块级-内联元素又是不一样的情况了,
还有我们元素是否浮动情况滴呀;