Flex布局justify-content: space-evenly最后一行数量不固定的问题

使用flex布局时经常会遇到元素个数不够导致最后一行错位的问题。



如果使用创建伪元素的方式解决可能又会遇到其他问题,特别是当justify-content设置为space-evenly时。



这时可以用另外一种方式,在最后一行增加几个假元素,数量为每一行最大数量减一,并设置height为0。
绿色部分为设置了1px方便观察

这种方式比较简单,不需要考虑margin的计算等问题。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,minimum-scale=1,user-scalable=no">
    <style>
        .container{
            width: 800px;
            display: flex;
            justify-content: space-evenly;
            flex-wrap: wrap;
            resize:both;
            overflow:auto;
        }
        .item{
            margin: 10px 0;
            background-color: #88a6e2;
            flex: 0 0 220px;
            height: 100px;
        }
        .fake_item{
            background-color: #52B948;
            flex: 0 0 220px;
            height: 0px;
        }
    </style>
</head>
<body>
<div class="container">
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
    <div class="fake_item"></div>
    <div class="fake_item"></div>
</div>
</body>
</html>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容