【1分钟知识点】利用「占位块」弥补 space-between 的不足

效果先行

需求

4007646450-59ace24cf093b_articlex

在大量“不定宽”元素并排的布局模式下,上图是咱们想要的最佳布局 可是FlexBox布局虽然枪弹但并不能彻底呈现以上布局,因而咱们须要结合FlexBox做下小的改动便可实现。css

css现成的布局方式

Flex布局,具备等分布局的能力,如图html

2944464332-59ace26b45117_articlex

问题

可是底部咱们并不想如此等分,咱们更但愿能够同上一排对齐git

方案

其实很简单,咱们只要在后面加入一些等宽可是占高为0等隐藏元素便可轻松实现。 如图:github

274284754-59ace27b269cb_articlex

至于【empty】元素的数量须要不小于单行最多元素的数量便可, 最后咱们将empty设置隐藏便可布局

.empty {
    visibility: hidden; 
}
复制代码

完整demo代码

【codepen 演示地址】flex

codepen.io/zwwill/pen/…spa

<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>
复制代码

转载请标明出处code

做者: 木羽 zwwillcdn

首发地址:zwwill/blog#28htm

相关文章
相关标签/搜索