margin的重叠现象

当两个相邻的普通元素设置margin时,则它们的间距并不是简单的外边距相加。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>margin的重叠现象</title>
</head>
<style>
    #div1{
        height: 100px;
        margin-bottom:50px;
        background: blue;
    }
    #div2{
        height: 100px;
        margin-top: 50px;
        background: green;
    }
</style>
<body>
    <div id="div1"></div>
    <div id="div2"></div>
</body>
</html>

效果如下:

两个div的高度是100px,明显间距不是50px+50px

原因是当两个相邻普通元素设置margin时,实际它们之间的外边距满足其中设置外边距较大的一方。当然同时肯定满足设置外边距较小的一方。

这种重叠现象不值发生在兄弟元素之间,父子元素也会发生重叠现象。

时间: 2024-08-09 03:12:44

margin的重叠现象的相关文章

margin 重叠现象

1.写两个div,在上面div有 margin-bottom 的情况下效果是这样: <!DOCTYPE html> <html> <head>     <meta charset=" utf-8">     <title>margin 重叠现象</title>     <style type="text/css">     .top {       height: 100px;   

须知的css——margin不重叠的情形

margin重叠 摘自css2.1规范中文版 CSS中,两个或者多个盒(可能但不一定是兄弟)的相邻的margin会被结合成一个margin.Margin按这种方式结合叫重叠(collapse),产生的结合的margin叫做重叠margin. margin重叠的计算规则 摘自css2.1规范中文版 当两个或者更多的margin合并时,产生的margin宽度为合并margin宽度中的最大值.至于负margin,就从正相邻margin的最大值中减去负相邻margin的绝对值的最大值.如果没有正marg

xib自定义cell视图出现重叠现象。

今天学习搭建一个团购的界面,自己在敲完代码后视图出现重叠现象 如图所示.检查半天没发现问题.最后对照老师的源代码,找到了问题,原来是自己没有设置单元格的高度代码如下 self.tableView.rowHeight = 80; 加上这句代码之后视图正常.

在导航控制器的rootviewcontroller中push一个控制器 出现view重叠现象

在导航控制器的rootviewcontroller中push一个控制器  出现view重叠现象而且不可点击了,原因是:在rootviewvc页面做横扫手势操作,会影响nav的stack, 直接说解决办法吧,写在rootviewcontroller中 - (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; self.navigationController.interactivePopGestureRecogni

HTML学习笔记5——盒模型

盒模型:3个距离的区分 a: margin(外边距) b: border(内边距) c: padding(内边距) 一个盒子的大小: width==width+(margin-left+margin-right)+(border-left+border-right)+(padding-left+padding-right) height==height+(margin-top+margin-bottom)+(border-top+border-bottom)+(padding-top+paddi

CSS 外边距(margin)重叠及防止方法

CSS 外边距(margin)重叠及防止方法 胡俊涛 | 2011-11-17 边界重叠是指两个或多个盒子(可能相邻也可能嵌套)的相邻边界(其间没有任何非空内容.补白.边框)重合在一起而形成一个单一边界. 两个或多个块级盒子的垂直相邻边界会重合.结果的边界宽度是相邻边界宽度中最大的值.如果出现负边界,则在最大的正边界中减去绝对值最大的负边界.如果没有正边界,则从零中减去绝对值最大的负边界.注意:相邻的盒子可能并非是由父子关系或同胞关系的元素生成. 但是边界的重叠也有例外情况: 1.水平边距永远不

CSS 外边距(MARGIN)重叠及防止方法(转载)

边界重叠是指两个或多个盒子(可能相邻也可能嵌套)的相邻边界(其间没有任何非空内容.补白.边框)重合在一起而形成一个单一边界. 两个或多个块级盒子的垂直相邻边界会重合.结果的边界宽度是相邻边界宽度中最大的值.如果出现负边界,则在最大的正边界中减去绝对值最大的负边界.如果没有正边界,则从零中减去绝对值最大的负边界.注意:相邻的盒子可能并非是由父子关系或同胞关系的元素生成.但是边界的重叠也有例外情况: 1.水平边距永远不会重合.2.在规范文档中,2个或以上的块级盒模型相邻的垂直margin会重叠.最终

CSS外边距margin上下元素重叠

两个或多个块级盒子的垂直相邻边界会重合.结果的边界宽度是相邻边界宽度中最大的值.如果出现负边界,则在最大的正边界中减去绝对值最大的负边界.如果没有正边界,则从零中减去绝对值最大的负边界.注意:相邻的盒子可能并非是由父子关系或同胞关系的元素生成.但是边界的重叠也有例外情况: 1.水平边距永远不会重合.2.在规范文档中,2个或以上的块级盒模型相邻的垂直margin会重叠.最终的margin值计算方法如下:a.全部都为正值,取最大者:b.不全是正值,则都取绝对值,然后用正值减去最大值:c.没有正值,则

上下margin重叠传递问题

我发现强迫症真的是我一个大病...每次都非得把所有情况都实验出来不可...BUT!!!!!!!!!悲催的是,这么多情况我根本记不住...还是要在写代码的时候不断出错再排错~受不了自己了!不过还是把这部分总结到这里啦~ 下面的几个部分应该是margin重叠问题的所有情况了: 1.两个普通元素上下的margin会合并为一个margin,哪个大选哪个! 两个浮动元素不会出现margin传递的问题,依然是上面元素的margin-bottom和下面元素的margin-top相加作为两者之间的margin值