【1分鐘知識點】利用「佔位塊」彌補 space-between 的不足

木羽v發表於2018-10-24

效果先行

【1分鐘知識點】利用「佔位塊」彌補 space-between 的不足

需求

4007646450-59ace24cf093b_articlex

在大量“不定寬”元素並排的佈局模式下,上圖是我們想要的最佳佈局 但是FlexBox佈局雖然槍彈但並不能完全呈現以上佈局,於是我們需要結合FlexBox作下小的改動即可實現。

css現成的佈局方式

Flex佈局,具有等分佈局的能力,如圖

2944464332-59ace26b45117_articlex

問題

但是底部我們並不想如此等分,我們更希望可以同上一排對齊

方案

其實很簡單,我們只要在後面加入一些等寬但是佔高為0等隱藏元素即可輕鬆實現。 如圖:

274284754-59ace27b269cb_articlex

至於【empty】元素的數量需要不小於單行最多元素的數量即可, 最後我們將empty設定隱藏即可

.empty {
    visibility: hidden; 
}
複製程式碼

完整demo程式碼

【codepen 演示地址】

codepen.io/zwwill/pen/…

<html>
<head>
    <meta charset="UTF-8">
    <title>並排等分,單排靠左最齊佈局</title>
    <style type="text/css">
        * {
            margin: 0;
            padding: 0;
        }
        .main {
        	display: flex;
		    width: 1000px;
		    flex-flow: row wrap;
		    justify-content: space-between;
		    margin: 50px auto;
		    background-color: #ccc;
		    align-content: baseline;
        }
        .main span {
        	width: 132px;
		    height: 200px;
		    display: inline-block;
		    background-color: #666;
		    margin: 4px;
        }
        .main .emp{
            height: 0;
            border: none;
            margin-top: 0;
            margin-bottom: 0;
            visibility: hidden;
        }
    </style>
</head>
<body>
    <div class="main">
        <span style="">1</span>
        <span style="">2</span>
        <span style="">3</span>
        <span style="">4</span>
        <span style="">5</span>
        <span style="">6</span>
        <span style="">7</span>
        <span style="">8</span>
        <span style="">9</span>
        <span style="">10</span>
        <span style="">11</span>
        <span style="">12</span>  
        <span class="emp" >empty</span>
        <span class="emp" >empty</span>
        <span class="emp" >empty</span>
        <span class="emp" >empty</span>
        <span class="emp" >empty</span>
        <span class="emp" >empty</span>
        <span class="emp" >empty</span>
        <span class="emp" >empty</span>
        <span class="emp" >empty</span>
    </div>
</body></html>
複製程式碼

轉載請標明出處

作者: 木羽 zwwill

首發地址:zwwill/blog#28

相關文章