解決flex布局space-between最后一行左對齊


首先看代碼和效果↓

<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,看下圖↓

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM