我使用flexbox和flex-wrap来排列一组元素,并且这些元素可以使用flex-grow进行伸展:
每个项目都有四个方向的外边距,以使它们彼此分开。但是这样做的副作用是整个块都有外边距,我希望这些外边距能够折叠起来。可以使用诸如nth-child(-n+3) { margin-top: 0; }
之类的规则来实现,但由于容器大小可能会变化,所以每行可能会有不同数量的项和任意数量的行。因此,我想知道在这种设置中,flex-box是否有任何方法可以折叠外边距,同时保留项之间的边距。
HTML只是一个容器内的6个项目。
Sass CSS如下:
.container
display: flex
flex-wrap: wrap
background: #eef
align-items: stretch
.item
flex-grow: 1
margin: 1em
border: 1px solid black
padding: 1em
min-width: 6em