关于 div 嵌套

wrost 2013-10-23 10:51:38

我用chrome查看,<div class="list_manager_top5_in"> margin的上边5px,怎么在<div class="list_manager_top5_out">外边了?

不是应该包含在里边的吗,求解?


<div class="list_manager_top5_out">
<div class="list_manager_top5_in">
<div >
<div></div>
<div></div>
<div></div>
<div></div>
</div>
<div >
<div></div>
<div></div>
<div></div>
</div>
</div>
</div>



.list_manager_top5_out
{
width:100%;
clear:both;
height: 100px;
background-color: #E4ECF5;
}

.list_manager_top5_in
{
padding:5px 0 0 25px;
margin:5px;
clear:both;
border:1px solid black;
}


...全文
161 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
wrost 2013-10-23
  • 打赏
  • 举报
回复
引用 1 楼 nesaiga 的回复:
估计是浏览器兼容性问题,我用谷歌和火狐测试的时候都是一样情况,IE就显示正常。 这个问题发生的原因是嵌套内的第一个块元素设置了margin-top; 这样这个块元素就会破开它的父元素(我也不知道是不是破开,反正意思你懂就行),这样就把它的父元素整个往下顶。 兼容性修补:使用父元素设置padding-top替代第一个子元素的margin-top; 就是这样:

    .list_manager_top5_out
   {
    width:100%;
    clear:both;
    height: 100px; 
    background-color: #E4ECF5;
    (padding-top:5px;)
    }
     
    .list_manager_top5_in
   {
    padding:5px 0 0 25px;
    margin:5px;
    clear:both;
    border:1px solid black;
    (margin-top:0;)
    }  
谢谢,照你说的修改,就好了。 很奇怪,为什么浏览器会有这么明显的bug
掌钉鱼 2013-10-23
  • 打赏
  • 举报
回复
估计是浏览器兼容性问题,我用谷歌和火狐测试的时候都是一样情况,IE就显示正常。 这个问题发生的原因是嵌套内的第一个块元素设置了margin-top; 这样这个块元素就会破开它的父元素(我也不知道是不是破开,反正意思你懂就行),这样就把它的父元素整个往下顶。 兼容性修补:使用父元素设置padding-top替代第一个子元素的margin-top; 就是这样:

    .list_manager_top5_out
   {
    width:100%;
    clear:both;
    height: 100px; 
    background-color: #E4ECF5;
    (padding-top:5px;)
    }
     
    .list_manager_top5_in
   {
    padding:5px 0 0 25px;
    margin:5px;
    clear:both;
    border:1px solid black;
    (margin-top:0;)
    }  
掌钉鱼 2013-10-23
  • 打赏
  • 举报
回复
这有啥奇怪的,各种浏览器内核不同,各自有各自的对样式的处理。 谷歌和火狐还是比较喜欢,最蛋疼的是坑爹的IE,平生最讨厌IE的旧版本,各种奇形八怪兼容性问题.

61,112

社区成员

发帖
与我相关
我的任务
社区描述
层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。
社区管理员
  • HTML(CSS)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧