css排版时出现:里面的div设置margin-top值时外面div会向下移动相应距离这是为什么 请哪位高手帮帮忙
<body><divclass="logon"><divclass="log_bk"></div></div></body>body{margin:0auto;paddi...
<body>
<div class="logon">
<div class="log_bk">
</div>
</div>
</body>
body { margin:0 auto; padding:0px; background:#0A76B0;}
#logon{ background:url(../images/logon-bk.jpg) no-repeat left top;
height:865px; width:1251px;}
.log_bk{ background:url(../images/01.png) no-repeat left top; height:380px;
height:270px; margin:300px 0 180px 460px;}
因为背景是图案所以要设置高度,我把#logon的背景定位在顶部也不行。 展开
<div class="logon">
<div class="log_bk">
</div>
</div>
</body>
body { margin:0 auto; padding:0px; background:#0A76B0;}
#logon{ background:url(../images/logon-bk.jpg) no-repeat left top;
height:865px; width:1251px;}
.log_bk{ background:url(../images/01.png) no-repeat left top; height:380px;
height:270px; margin:300px 0 180px 460px;}
因为背景是图案所以要设置高度,我把#logon的背景定位在顶部也不行。 展开
展开全部
设置logon的padding: 1px
因为logon和log_bk垂直方向的margin合并了,如果设置了logon的padding为1px就可以避免margin合并。
因为logon和log_bk垂直方向的margin合并了,如果设置了logon的padding为1px就可以避免margin合并。
更多追问追答
追问
好了,刚才把padding值加到里面的div了,不过两个div的margin值为什么会合并呢?
追答
恩,刚才我写错了,写成里面的了。。
这个是css标准规定的,垂直方向的margin会合并。
比如你有很多段落,margin是10px,其实第一段上面的margin和最后一段下面的margin是10px,且段与段之间的margin也是10px,css标准就是为了保持这个margin一致才规定垂直方向margin要合并。
margin合并时会取最大的那个margin,所以合并后logon的margin-top也成了300px了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询