效果先行
需求
在大量“不定寬”元素並排的佈局模式下,上圖是我們想要的最佳佈局 但是FlexBox佈局雖然槍彈但並不能完全呈現以上佈局,於是我們需要結合FlexBox作下小的改動即可實現。
css現成的佈局方式
Flex佈局,具有等分佈局的能力,如圖
問題
但是底部我們並不想如此等分,我們更希望可以同上一排對齊
方案
其實很簡單,我們只要在後面加入一些等寬但是佔高為0等隱藏元素即可輕鬆實現。 如圖:
至於【empty】元素的數量需要不小於單行最多元素的數量即可, 最後我們將empty設定隱藏即可
.empty {
visibility: hidden;
}
複製程式碼
完整demo程式碼
【codepen 演示地址】
<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