Why is these flex items not wrapping?

前端 未结 1 992
终归单人心
终归单人心 2020-12-04 00:42

I have a flex item that is also a flex container .sub-con, problem is the flex item of .sub-con is refusing to wrap, even after adding : flex

相关标签:
1条回答
  • 2020-12-04 01:34

    Your flex items in the nested container are sized with percentages.

    .col-one{
      width: 40%;
      height: 100px;
      border: 1px solid lightgreen;
    }
    .col-two{
      width: 40%;
      height: 100px;
      border: 1px solid red;
    }
    

    Because percentage lengths are based on the length of the parent they have no reason to wrap. They will always be 40% of the parent, even if the parent has a width of 1%.

    If you use other units for length, such as px or em, they will wrap.

    jsFiddle demo

     .container {
       display: flex;
       justify-content: center;
       align-items: center;
       flex-flow: row wrap;
       height: 100vh;
     }
     
     .sub-con {
       flex: 1;  /* for demo only */
       align-content: flex-start; /* for demo only */
       margin-right: 50px;
       margin-left: 50px;
       height: 500px;
       background-color: #fff;
       display: flex;
       justify-content: center;
       flex-flow: row wrap;
     }
     
     .col-one {
       width: 200px;
       height: 100px;
       border: 1px solid lightgreen;
     }
     
     .col-two {
       width: 200px;
       height: 100px;
       border: 1px solid red;
     }
    <div class="container">
      <div class="sub-con">
        <div class="col-one"></div>
        <div class="col-two"></div>
      </div>
    </div>

    0 讨论(0)
提交回复
热议问题