【发布时间】:2021-03-22 17:05:56
【问题描述】:
我想了解的:
- 边距合并(div 1 的边距底部与 div2 的边距顶部)是否在 2 个不同的 div 相交时具有相同的值?好像是这样!
- 如果 2 个不同的 div 相交时的值相同,则填充不合并(div 1 的底部边距与 div2 的顶部边距)?好像是这样!
- 当 2 个具有不同填充的不同 div 相交时,每个 div 都会尊重他的填充,所以,基本上它们之间的高度/距离会比使用边距更高(因为填充不合并)?好像是这样!
问题: 当 2 个不同的 div 与 2 个不同的类相交时(div 1 的底部边距与 div2 的顶部边距),具有较高边距值的 div 将使用前一个 div 边距(计算边距高度从以前的 div 并且只会添加差异)?这是预期的行为吗?
有没有人知道一种工具来测量/显示浏览器上 2 个对象之间的 PX 距离(div/图像/段落等)。一些 Firefox / Chrome 插件?
.div1-margin {
margin: 32px 0;
background-color: #fcfcc0;
}
.div2-margin {
margin-top: 132px;
background-color: #c0fcf9;
}
.div1-padding {
padding: 32px 0;
background-color: #c5fcc0;
}
.div2-padding {
padding-top: 132px;
background-color: #ecc0fc;
}
h2.h2margin {
color: blue;
padding: 0!important;
margin: 0!important;
font-size: 18px;
}
h3 {
font-size: 18px;
color: green;
padding: 16px 0;
}
h2.h2padding {
color: red;
padding: 0!important;
margin: 0!important;
font-size: 18px;
}
<h2 class="h2margin">Here div 2 have margin top 132px and div 1 have margin bottom 32px.</h2>
<div class="div1-margin">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
</div>
<div class="div2-margin">
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum portes factures.
</div>
<h3>Total distance (space) above between div 2 and div 1 will be 132px? (margin used)</h3>
<h2 class="h2padding">Here div 2 have padding top 132px and div 1 have padding bottom 32px.</h2>
<div class="div1-padding">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
</div>
<div class="div2-padding">
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum portes factures.
</div>
<h3>Total distance (space) above between div 2 and div 1 will be 164px? (padding used)</h3>
【问题讨论】:
-
MDN 有一个关于这种“折叠边距”行为的页面(在某些情况下这是预期的)[链接]developer.mozilla.org/en-US/docs/Web/CSS/CSS_Box_Model/… 有一些方法可以解决它,例如 CSS 清除。
标签: css