首先看代碼和效果↓
<style> .main { outline: 1px solid; display: flex; justify-content: space-between; flex-wrap: wrap; } .main>div { width: 100px; height: 100px; margin-bottom: 10px; background-color: lightgreen; } </style> <body> <div class="main"> <div>1</div> <div>2</div> <div>3</div> <div>4</div> <div>5</div> <div>6</div> <div>7</div> <div>8</div> </div> </body>

可以看到最后一個div並沒有在中間,而是在最后了
因為我們設置了justify-content為space-between,意思就是兩邊貼邊
這時候我們可以給最外層div設置個偽元素,寬度和里面的div寬度一樣就好了
只需要兩行css就可以
.main:after { content: ""; width: 100px; }
這時候看效果

其實原理就是最后一個偽元素把他擠過來了
就算有9個也沒影響,因為他的高度是0,看下圖↓

