美文网首页
Css 的 Margin 边缘叠加问题

Css 的 Margin 边缘叠加问题

作者: 缘之空_bb11 | 来源:发表于2024-05-22 14:30 被阅读0次

注意:
1. 外边距叠加情况只会发生在普通文档流的垂直方向.
2. 行内框、浮动框、绝对定位框之间的外边距不会发生叠加,同样水平方向也不会发生叠加。

我觉得叠加问题大致分两种情况:

  • 当两个垂直布局时,第一个的margin-bottom 和 第二个的 margin-top 将会重叠合成一个外边距,这个外边距的高度等于两个发生叠加的外边距中高度较大者。
image.png
  • 两个 view 嵌套的情况(即 view1 包含 view2 ), 这时你会发现,当你给 view2 设置 margin-top 的时候, view2 还是紧贴view1 的顶部; view1 距顶部的距离就是 view2 的 margin-top.

什么结论? 当遇到view嵌套的情况, 给其包含的subView设置 margin-top,都会统统的转化成最外面的view 的margin-top, 并且取值最大那个, 而subView的上面距为 0, 做了个无用功

注意: 其左边距是生效的

WechatIMG325.jpg
  • 处理margin叠加的解决方案:

方法1:利用flex布局对子元素的影响解决

子元素的float、clear和vertical-align属性将会失效;
解决了margin传递、重叠(叠加)问题;

方法2:利用外层padding值代替内部元素的margin;

方法3:绝对定位postion:absolute;

方法4:给父元素加边框 border(可以加个透明的边框)

方法5:给父级或者子级设置float

相关文章

  • live-woa-build

    CSS中margin边界叠加问题及解决方案 doc vue-music mand-mobile HTML 5 Ta...

  • CSS: margin叠加几种情况

    margin叠加的意思是:当两个或者更多的垂直外边距相遇时,它们将形成一个外边距,这个外边距的高度等于两个发生叠加...

  • margin边距叠加问题

    css中,水平方向上块级元素边距不会重合。垂直方向上,2个或2个以上的块级元素margin会叠加。1.先看代码 图...

  • CSS之BFC应用

    1.解决margin叠加问题 三P每个p之间的距离为50px,发生了外边距叠加。 要解决这个叠加问题即让每个P之间...

  • 盒模型-上下margin叠加问题

    一开始,我们给a和b都设置了margin:10px;理论上a和b之间的距离应该是20px,但实际上,a和b之间的距...

  • CSS制作三角形等指示标

    利用css的背景叠加 三角形的down 三角形的up *{ margin:0; padding:0; } ul{ ...

  • Margin叠加外边距叠加margin值为负数

    当两个垂直外边距相遇时,这两个外边距会合并为一个外边距,叠加之后的外边距高度等于发生叠加之前的两个外边距的最大值。...

  • CSS笔记

    margin叠加 盒子模型的相邻元素、父子元素的垂直方向上的margin会产生margin塌陷,具体的margin...

  • updating...

    CSS 1、三栏布局问题(左右固定宽度 中间自适应) flex grid float + margin 2、CSS...

  • 前端常用css样式及常见问题总结(持续更新中...)

    一、前端学习工具 二、常用的css前端样式 1.关于margin(外边距) 问题示例(div子模块的margin-...

网友评论

      本文标题:Css 的 Margin 边缘叠加问题

      本文链接:https://www.haomeiwen.com/subject/urszfjtx.html