css - 垂直边距不重叠

标签 css margin

默认情况下,垂直边距会重叠,例如,如果我有一个 div 的底部边距设置为 20 像素,而下一个 div 顶部边距设置为 30 像素,则两个 div 之间的空间应为 30 像素。

就我而言,它们不重叠:

#contentwrap {
    margin-bottom: 50px;
    background: blue;
    width: 100%;
    height: 100px;
}
#pagenavi {
    display: inline-block;
    margin-top: 50px;
    background: blue;
    width: 100%;
    height: 100px;
}
<div id = "contentwrap"></div>
<div id = "pagenavi"></div>

最佳答案

这是因为边距折叠仅发生在垂直方向。通过设置 display: inline-block,这会打破规则,因为下面的元素可能会尝试与上面的元素粘在一起。

更多信息请访问 here .

您能否展示一个具体问题,以便我们共同解决?由于使用 width: 100% 设置 display: inline-block; 的样式没有任何意义

#contentwrap {
    margin-bottom: 50px;
    background: blue;
    width: 100%;
    height: 100px;
}
#pagenavi {
    margin-top: 50px;
    background: blue;
    width: 100%;
    height: 100px;
}
<div id = "contentwrap"></div>
<div id = "pagenavi"></div>

关于css - 垂直边距不重叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71393391/

相关文章:

html - 类似 Bootstrap 的网格中的 CSS 偏移

jquery - 调整大小时,文章不会停留在其他 sibling 之上

css - 使 Bootstrap3 图标旋转的问题

javascript - CodePen React 代码无法加载我的渐变背景

html - FANCYBOX:指定关闭按钮的外观

html - 我的 div 类 :"title"似乎没有居中,即使 div 是边距 :auto. 我该如何解决这个问题?

css - form 的 translateY 将 div 隐藏在它下面,我无法将其移动到 form 之后显示

css - margin 不起作用?两个元素之间需要空间

html - 删除导航栏两侧和顶部的空白

java - 如何判断一个数字是否属于一个序列(决定误差幅度)?