通常,在CSS中,当父级和最后一个子级具有边距时,这些边距会折叠以创建单个边距。例如
article {
margin-bottom: 20px
}
main {
background: pink;
margin-bottom: 20px;
}
footer {
background: skyblue;
}
<div id="container">
<main>
<article>
Item 1
</article>
<article>
Item 2
</article>
</main>
<footer>Footer</footer>
</div>
如您所见,即使20px在article和main标记上都指定了的边距,您也只能20px在最后一篇文章和页脚之间得到一个边距。
但是,当使用flexbox时,我们40px在上一个文章和页脚之间留有边距- 20p从文章到main 的全边距为x,20px从main到footer的边距为全。
#container {
display: flex;
flex-direction: column;
}
article {
margin-bottom: 20px
}
main {
background: pink;
margin-bottom: 20px;
}
footer {
background: skyblue;
}
<div id="container">
<main>
<article>
Item 1
</article>
<article>
Item 2
</article>
</main>
<footer>Footer</footer>
</div>
有没有一种方法可以使flexbox的页边距行为与非flexbox的页边距相同?
萧十郎
动漫人物