css 阻断合并 及 其他影响

margin 的不正交
margin实用时会产生合并的现象
以下属性会阻断 margin 合并borderdisplay: tabledisplay: 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:inlineposition:fixed 会影响 transformfloat 会影响 inline

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理