posts - 6,  comments - 2,  trackbacks - 0
      今天做项目的时候,遇到了子块1和父块的外边距合并问题。一旦设置的margin-top,父块也跟着向下浮动了(如图1)。具体原因不详细解释,请看css 外边距合并问题
      官方的解决方法是为父块加上边框之类的东西(但是border不能为0)。但是这样会影响页面的美观。所以想了一下之后,决定在父块中再加入一个空白的字块2(高度不能为0),这样原来的字块1就不会和父块合并。
效果图如下:

图1

图2
实现代码如下(简要):
html:
<div id="whole">
        <div style="height:10px;"></div>
        <div id="the-table"></div>
</div>

css:
#whole{
    background-image:url("../images/bg/client_common_bg.jpg");    
    width:1006px;
    height:513px;    
    margin:0px auto;
    float:none;
}
#the-table{
    margin:0px auto;
    margin-top:50px;
    width:605px;
}
这仅仅是我的解决方法,可能有更好的方法或者部分css属性就可以解决,欢迎大家批评交流。

注:本代码只在firefox中测试,其他浏览器请自行测试(尤其是IE)
posted on 2011-10-28 10:34 唐大力 阅读(976) 评论(2)  编辑  收藏 所属分类: css

FeedBack:
# re: 关于取消css中的外边距合并
2012-03-30 15:15 | SSF
直接在父元素#whole里加句overflow:hidden;就可以了。
删除那个行间样式吧。  回复  更多评论
  
# re: 关于取消css中的外边距合并
2014-03-14 09:25 | yangzx
可是试试正文里添加一个空段
css:
#whole p:first-child{
height:50px;/*根据你具体需求*/
}

html:
<div id="whole">
<p></p>
<div id="the-table"></div>
</div>  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航:
 
<2014年3月>
2324252627281
2345678
9101112131415
16171819202122
23242526272829
303112345

常用链接

留言簿

随笔分类

随笔档案

搜索

  •  

最新评论

阅读排行榜

评论排行榜