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
解决办法 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>
浏览器中是这个样的:
<!-- 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 可以 -->
浏览器中是这个样的:
其他影响
display 会影响 ul li 的小圆点
position:absolute 会影响 display:inline
position:fixed 会影响 transform
float 会影响 inline
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。