flexbox一点小白问题

为什么这两列子元素不挨着而是隔开呢
图片描述

CSS代码如下

.flex_box_new{
                width: 400px;
                height: 300px;
                border: 1px solid;
                margin: 50px;
                display: -webkit-flex;
                display: flex;
                -webkit-flex-direction: column;
                flex-direction: column;
                -webkit-justify-content: space-around;
                justify-content: space-around;
                -webkit-flex-wrap: wrap;
                flex-wrap: wrap;
                -webkit-align-items: flex-start;
                align-items: flex-start;
            }
            .lit_box{
                width: 50px;
                height: 40px;
                margin: 0;
                color: white;
                font-size: 20px;
            }
            .lit_box:nth-child(1n){
                background: red;
            }
            .lit_box:nth-child(2n){
                background: green;
            }
            .lit_box:nth-child(3n){
                background: blue;
            }
            

HTML代码如下

<div class="flex_box_new">
            <div class="lit_box">
                1
            </div>
            <div class="lit_box">
                2
            </div>
            <div class="lit_box">
                3
            </div>
            <div class="lit_box">
                1
            </div>
            <div class="lit_box">
                2
            </div>
            <div class="lit_box">
                3
            </div>
            <div class="lit_box">
                1
            </div>
            <div class="lit_box">
                2
            </div>
            <div class="lit_box">
                3
            </div>
            <div class="lit_box">
                1
            </div>
            <div class="lit_box">
                2
            </div>
            <div class="lit_box">
                3
            </div>
        </div>
阅读 2.8k
3 个回答

因为你没设置align-content,他的默认是stretch
你加一个align-content:flex-start,两列就在一起了。

align-items换成align-content.
具体原因请翻看w3c手册.

-webkit-flex-wrap: wrap;
flex-wrap: wrap;

---改成---
-webkit-flex-wrap: nowrap;
flex-wrap: nowrap;

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题