解决垂直外边距合并的几种办法

外边距合并指的是,当两个垂直外边距相遇时,它们将形成一个外边距。合并后的外边距的高度等于两个发生合并的外边距的高度中的较大者

在父级容器有上下外边距的情况下,子元素如果添加外边距,父元素和子元素的垂直方向上的外边距会合并,相邻元素也会合并。在用margin给子元素和父元素之间留空白的时候通常会发生这样的问题。

几种解决办法:

1:父容器:border:1px solid;(不能是0px)

2:父容器:overflow: hidden;(或auto)

3:父容器:padding:1px;(不能是0或auto,其他的任意数值都可以)

4:父容器或子容器: float:left;(不能是auto)

5:父容器或子容器:position:absolute;

6:子容器:display:inline-block;(或是inline-table)

7:相邻元素:任意一个添加float:left(不能是auto)

原文地址:https://www.cnblogs.com/zhuochong/p/11640690.html

时间: 2024-08-10 18:14:55

解决垂直外边距合并的几种办法的相关文章

css盒子模型、垂直外边距合并

css盒子模型由四部分组成:内容(content).填充(padding).边框(border).边距(margin),其中css样式中定义的width属性是定义内容区域的宽度,正常情况下,设置了内容区域的宽度后,再设置盒子的填充.边框.边距值,盒子在页面中实际占据的页面尺寸的计算是: 水平方向上::width+2*padding+2*border+2*border, 垂直方向上::height+2*padding+2*border+2*border, 不过需要注意的是行内元素,在不改变它的表现

BFC与垂直外边距合并问题

一.什么情况下发生外边距的合并 1)必须处于普通文档流中(不能脱离文档流),并且处于同一个BFC中 2)相邻的外边距,不能有间隙和边框 3)垂直方向上 二.如何合并 1)兄弟元素之间,外边距合并会去最大的那个外边距而不是取和 2)父子元素之间,外边距合并会将子元素的外边距设置给父元素 3)空元素 三.如何解决垂直外边距重叠问题? 1)父元素添加透明上边框或者内边距 2)父元素前面块元素隔开 3)开启BFC, *设置 display:table/table-cell/table-captions/

文本溢出、垂直外边距合并、BFC、hasLayout

今天学习文本溢出,又遇到了一些小问题,先上图: 关于文本溢出推荐:http://www.cnblogs.com/yzg1/p/5089534.html 从里面学习到单行文本和多行文本溢出, overflow:hidden;text-overflow: ellipsis是基本.然后在控制多行文本溢出的时候需要用到弹性伸缩盒子-webkit-box ,包括设置盒子的伸缩方向和显示的行数. 用div内嵌div做一个小测试:发现对子元素,margin-left有效但是margin-top是无效的,问题的

Margin的垂直外边距问题

昨天做练习的时候遇到了margin外边距的问题,给body的子元素div设置了margin-top:50px:为什么div元素没有把body撑开(即div顶部距body拉开50px)???而是div连同body整个被拉下来了,body距离<html>为50px??? 代码结构如下: html{ width: 100%; height: 100%; background: red; } body{ margin: 0; padding: 0; width: 100%; height: 100%;

【css基础】垂直外边距的合并

这个题目参考大神,链接如下: http://www.cnblogs.com/kuangbin/archive/2012/08/30/2664419.html 还有种类并查集的详细解答,链接如下: http://www.cnblogs.com/wuyiqi/archive/2011/08/24/come__in.html 题目链接 题目如下: Dragon Balls Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/327

margin属性以及垂直外边距重叠问题

   盒子的margin属性         盒子的外边距margin 指的是当前盒子与其他盒子之间的距离,环绕在盒子周围的空白区域,属于不可见的区域,,不会影响到可见框的大小,而是会影响到盒子的位置. margin属性可以用来指定盒子外边框的大小,有两种方法设置外边距:第一种单独属性分别设置四个方向的外边距,第二种是使用简写属性同时设置多个方向的外边距(注意顺序),margin 属性接受任何长度单位,可以是像素px.英寸in.毫米mm或 em 一.单独属性设置各个方向外边距 盒子有四个方向的外

[ css 外边距 margin ] css中margin外边距合并问题讲解及实例演示

外边距合并指的是,当两个垂直外边距相遇时,它们将形成一个外边距;合并后的外边距的高度等于两个发生合并的外边距的高度中的较大者 外边距合并外边距合并(叠加)是一个相当简单的概念.但是,在实践中对网页进行布局时,它会造成许多混淆.简单地说,外边距合并指的是,当两个垂直外边距相遇时,它们将形成一个外边距.合并后的外边距的高度等于两个发生合并的外边距的高度中的较大者.当一个元素出现在另一个元素上面时,第一个元素的下外边距与第二个元素的上外边距会发生合并.请看下图: CSS 外边距合并实例 1 亲自试一试

margin外边距合并详解

margin外边距合并详解: 外边距合并现象在网页布局中非常的常见,必须对此有明确的把我,以此做到未雨绸缪,否则可能影响工作效率,甚至严重阻碍项目的进度.在网络上已经有大量的相关文章,下面再通过实例结合对网络教材的总结,再来介绍一下外边距合并现象. 概念: 相邻的两个或者多个外边距在垂直方向上合并成一个外边距,这就是所谓的外边距合并. 水平方向不存在此现象. 外边距合并产生条件: 1.相邻的外边距之间没有非空内容.padding和border和clear分隔. 2.对象都处于文档流中,即非浮动和

CSS框模型(框模型概述、内边距、边框、外边距、外边距合并)

CSS 框模型概述 CSS 框模型 (Box Model) 规定了元素框处理元素内容.内边距.边框 和 外边距 的方式. 元素框的最内部分是实际的内容,直接包围内容的是内边距.内边距呈现了元素的背景.内边距的边缘是边框.边框以外是外边距,外边距默认是透明的,因此不会遮挡其后的任何元素. 内边距.边框和外边距都是可选的,默认值是零.但是,许多元素将由用户代理样式表设置外边距和内边距.可以通过将元素的 margin 和 padding 设置为零来覆盖这些浏览器样式.这可以分别进行,也可以使用通用选择