💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
[toc] ## margin重叠 只会发生在writing-mode的垂直方向 ![](https://box.kancloud.cn/0cabb55c2be5e87baaebaefafa2dd4f1_470x278.png) ### 父子重叠:margin穿透 第二种情况又称之为margin穿透 ![](https://box.kancloud.cn/7779a915833e6fb4813382103fe1569c_613x307.png) #### 父子重叠发生的条件与防止 ![](https://box.kancloud.cn/f29fafe71b0d075f2f4cd5daf2b9e5f9_849x447.png) 空格也算一个内联元素,也能防止margin重叠 ### 空block元素margin重叠 ![](https://box.kancloud.cn/f8522d915ebd2c2209a6c2582a60af34_687x358.png) #### 空block元素margin重叠发生的条件与防止 ![](https://box.kancloud.cn/12c70d2725bbff75467ed1d5b8568f21_521x368.png) ### 计算规则 正正取大值 正负值相加 负负最负值 ### 初衷 ![](https://box.kancloud.cn/f99cbe7cd9ac41a3c9fde82d0db9cd1d_821x341.png) ## 百分比单位 margin-top/left,水平竖直方向**都**是相对于父容器的**宽度**来计算的 ## margin负值:改变元素占据的空间 margin负值偏移不像relative的偏移,relative再怎么偏移,实际占据的位置就是最初的位置 ,而margin负值偏移时,会腾出不再占据的位置,并且它(margin-left/top)**侵入**到别人的地盘,也是悄无声息的**不**会占据位置(显示效果为覆盖) ### margin-top/left负值和bottom/right负值比较 margin-top/left 看起来是整个元素都往某个方向进行了偏移(腾出不再占据的位置,但侵入到其它元素地盘的部分并不占据位置) 而margin-bottom/right 则看起来整个元素并没有动,但其实它实际占据的位置被收缩了 ### 与overflow:hidden 如果设置了overflow:hidden,那么通过margin负值偏移时腾出的原本占据的位置部分会被裁减掉(无论margin-top还是bottom) ![](https://box.kancloud.cn/563eaaa7ecf95b83276674ac35db93de_457x214.png) ### 与float ![](https://box.kancloud.cn/e6a4fe2302f1c16da9eff41756d13f1e_629x392.png)