Flexbox - Flex-Wrap


一般来说,如果容器空间不足,其余的弹性项目将被隐藏,如下所示。

Flex 无包裹隐藏

flex-wrap属性用于指定控制 flex-container 是单行还是多行。

用法-

flex-wrap: nowrap | wrap | wrap-reverse
flex-direction: column | column-reverse

该属性接受以下值 -

  • 包装- 如果空间不足,容器的元素(弹性项目)将从上到下包装成额外的柔性线。

  • wrap-reverse - 如果空间不足,容器的元素(弹性项目)将从下到上包裹成额外的弹性线。

现在,我们将通过示例了解如何使用wrap属性。

将值wrap传递给属性flex-wrap时,容器的元素从左到右水平排列,如下所示。

裹

以下示例演示了将值wrap传递给flex-wrap属性的结果。在这里,我们使用flex-directionrow创建六个不同颜色的框。

<!doctype html>
<html lang = "en">
   <style>
      .box1{background:green;}
      .box2{background:blue;}
      .box3{background:red;}
      .box4{background:magenta;}
      .box5{background:yellow;}
      .box6{background:pink;}
      
      .box{
         font-size:35px;
         padding:15px;
         width:100px;
      }
      .container{
         display:flex;
         border:3px solid black;
         flex-direction:row;
         flex-wrap:wrap;
      }
   </style>
   
   <body>
      <div class = "container">
         <div class = "box box1">One</div>
         <div class = "box box2">two</div>
         <div class = "box box3">three</div>
         <div class = "box box4">four</div>
         <div class = "box box5">five</div>
         <div class = "box box6">six</div>
      </div>
   </body>
</html>

它将产生以下结果 -

反向换行

将值wrapper-reverse传递给属性flex-wrap时,容器的元素从左到右水平排列,如下所示。

反向缠绕

以下示例演示了将值wrap-reverse传递给flex-wrap属性的结果。在这里,我们使用flex-directionrow创建六个不同颜色的框。

<!doctype html>
<html lang = "en">
   <style>
      .box1{background:green;}
      .box2{background:blue;}
      .box3{background:red;}
      .box4{background:magenta;}
      .box5{background:yellow;}
      .box6{background:pink;}
      
      .box{
         font-size:35px;
         padding:15px;
         width:100px;
      }
      .container{
         display:flex;
         border:3px solid black;
         flex-direction:row;
         flex-wrap:wrap-reverse;
      }
   </style>
   <body>
      <div class = "container">
         <div class = "box box1">One</div>
         <div class = "box box2">two</div>
         <div class = "box box3">three</div>
         <div class = "box box4">four</div>
         <div class = "box box5">five</div>
         <div class = "box box6">six</div>
      </div>
   </body>
</html>

它将产生以下结果 -

包裹(列)

将值wrap传递给属性flex-wrap并将值列传递给属性flex-direction时,容器的元素从左到右水平排列,如下所示。

包裹柱

以下示例演示了将值wrap传递给flex-wrap属性的结果。在这里,我们使用flex-direction创建六个具有不同颜色的框。

<!doctype html>
<html lang = "en">
   <style>
      .box1{background:green;}
      .box2{background:blue;}
      .box3{background:red;}
      .box4{background:magenta;}
      .box5{background:yellow;}
      .box6{background:pink;}
      
      .box{
         font-size:35px;
         padding:15px;
         width:100px;
      }
      .container{
         display:flex;
         border:3px solid black;
         flex-direction:column;
         flex-wrap:wrap;
         height:100vh;
      }
   </style>
   
   <body>
      <div class = "container">
         <div class = "box box1">One</div>
         <div class = "box box2">two</div>
         <div class = "box box3">three</div>
         <div class = "box box4">four</div>
         <div class = "box box5">five</div>
         <div class = "box box6">six</div>
      </div>
   </body>
</html>

它将产生以下结果 -

反向换行(列)

将值wrapp-reverse传递给属性flex-wrap并将值列传递给属性flex-direction时,容器的元素从左到右水平排列,如下所示。

换行反向列

以下示例演示了将值wrap-reverse传递给flex-wrap属性的结果。在这里,我们创建了六个具有不同颜色和flex-direction列的框。

<!doctype html>
<html lang = "en">
   <style>
      .box1{background:green;}
      .box2{background:blue;}
      .box3{background:red;}
      .box4{background:magenta;}
      .box5{background:yellow;}
      .box6{background:pink;}
      
      .box{
         font-size:35px;
         padding:15px;
         width:100px;
      }
      .container{
         display:flex;
         border:3px solid black;
         flex-direction:column;
         flex-wrap:wrap-reverse;
         height:100vh;
      }
   </style>
   
   <body>
      <div class = "container">
         <div class = "box box1">One</div>
         <div class = "box box2">two</div>
         <div class = "box box3">three</div>
         <div class = "box box4">four</div>
         <div class = "box box5">five</div>
         <div class = "box box6">six</div>
      </div>
   </body>
</html>

它将产生以下结果 -