这是我想要的:
The closest I’ve got.在flexBox项目上应用余量,然后从第一个&最后的孩子。
问题是:第一个孩子并不总是第一个在视觉上,因为我可以改变布局顺序(example)。
在使用保证金时,是否有一种方法来考虑视觉顺序?
解决方法
您可以尝试为所有框设置相同的边距,然后在容器上还原此边距:
所以替换这个:
.flex > * { margin: 0 10px; } .flex > :first-child { margin-left: 0; } .flex > :last-child { margin-right: 0; } .flex.vertical > :first-child { margin-top: 0; } .flex.vertical > :last-child { margin-bottom: 0; }
有了这个:
.flex.vertical { margin: -20px 0 0 -20px; } .flex > * { margin: 0 0 0 20px; } .flex.vertical > * { margin: 20px 0 0 0; }