子元素采用浮动float或者定位position的方式排列。 注意:即使设置父元素的外边距是0,margin: 0,第一个或最后一个子元素的外边距仍然会“溢出”到父元素的外面。 3、空的块级元素 当元素B的margin-top直接贴到元素A的margin-bottom的时候(也就是中间的元素没有内容),也会发生边界折叠。 代码语言:javascript 复制 ...
子元素采用浮动float或者定位position的方式排列。 注意:即使设置父元素的外边距是0,margin: 0,第一个或最后一个子元素的外边距仍然会“溢出”到父元素的外面。 3、空的块级元素 当元素B的margin-top直接贴到元素A的margin-bottom的时候(也就是中间的元素没有内容),也会发生边界折叠。 topbottom.top,.bottom{w...
子元素采用浮动float或者定位position的方式排列。 注意:即使设置父元素的外边距是0,margin: 0,第一个或最后一个子元素的外边距仍然会“溢出”到父元素的外面。 3、空的块级元素 当元素B的margin-top直接贴到元素A的margin-bottom的时候(也就是中间的元素没有内容),也会发生边界折叠。 topbottom.top,.bottom{w...
效果如下: 如上图所示:在子元素设置了margin-top=30px时,父元素会掉落30px,而子元素和父元素并没有拉开30px的差距。 网上查了一些资料: 原因是:原因是根据规范,一个盒子如果没有上补白(padding-top)和上边框(border-top),那么这个盒子的上边距会和其内部文档流中的第一个子元素的上边距重叠。 找到了原因那...
今天在修改页面样式的时候,遇到子元素设置margin-top 但是并没有使得子元素与父元素之间产生间隔,而是作用在了其父元素上,导致父元素产生了一个margin-top 的效果。 今天就来说说整个问题产生的原因,以及解决方案。 问题分析 在MDN上面有这么一段文字:
父元素的第一个子元素的上边距margin-top如果碰不到有效的border或者padding或者非空内容(如一段文字),就会一层一层地合并父元素的margin-top成一个单独的margin-top。因此只要给父元素设置个有效的 border或者padding或在子元素前增加一段非空内容(如文字)就可以阻止它去合并父元素的外边距啦。
在修改页面样式过程中,遇到子元素设置margin-top,但并未产生预期中的子元素与父元素之间的间隔,反而影响了父元素的样式,导致出现margin-top的效果。此问题需从边距折叠的概念出发进行分析与解决。MDN解释边距折叠现象,即块的上外边距和下外边距合并为单个边距,其大小为两者最大值,该行为称为边距折叠...
问题描述 今天在修改页面样式的时候,遇到子元素设置margin-top 但是并没有使得子元素与父元素之间产生间隔,而是作用在了其父元素上,导致父元素产生了一个margin-t...
⼦元素margin-top导致⽗元素移动的问题解决 问题描述 今天在修改页⾯样式的时候,遇到⼦元素设置margin-top但是并没有使得⼦元素与⽗元素之间产⽣间隔,⽽是作⽤在了其⽗元素上,导致⽗元素产⽣了⼀个margin-top的效果。今天就来说说整个问题产⽣的原因,以及解决⽅案。问题分析 在MDN上⾯...
原因:父元素的第一个子元素的上边距margin-top如果碰不到有效的border或者padding,就会不断一层一层的找自己的祖先元素的麻烦。只要给父元素设置个有效的border或者padding就可以有效的管制子元素,防止它越级。 具体解决方案 1、修改父元素的高度,增加padding-top样式模拟(padding-top:1px;常用) ...