margin 的不正交

margin实用时会产生合并的现象

以下属性会阻断 margin 合并

border

display: table

display: flex

以上内容为结果 详解在下方

阻断合并【详解】

/* CSS */

    .box{
        border:1px solid red;
        height: 100px;
        margin: 10px; /* 注意:这里是10像素哦! */
    }
<!-- HTML -->

<div class="box"></div>
<div class="box"></div>
<div class="box"></div>

浏览器中是这个样的:

按理数 margin 应该是 div 上下之间的间距应该为 20px

浅谈css阻断合并及其他影响

解决办法 1、

<!-- HTML -->
<!-- css不变 -->

<div class="box"></div>
<div style="border: 1px solid blue"></div> <!-- 新加 -->
<div class="box"></div>
<div style="border: 0.1px solid blue"></div> <!-- 新加 -->
<div class="box"></div>
<div class="box"></div>

浏览器中是这个样的:

浅谈css阻断合并及其他影响

<!-- HTML -->
<!-- css不变 -->

<!-- HTML -->
<div class="box"></div>
<div style="display: table"></div>
<div class="box"></div>
<div style="display: flex"></div>
<div class="box"></div>
<div class="box"></div>
<!-- display:block / inline 不会阻断合并 只有table flex 可以 -->

浏览器中是这个样的:

浅谈css阻断合并及其他影响

其他影响

display 会影响 ul li 的小圆点

position:absolute 会影响 display:inline

position:fixed 会影响 transform

float 会影响 inline

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!