Das CSS3-Flex-Layout erreicht eine gleichmäßige Verteilung der Elemente

Beispiel 1:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
    <title>flex 布局</title>
  <style> 
    *{
    
    
      padding:0;
      margin:0;
    }
    body,html{
    
    
      height: 100vh;
      min-width: 800px;
    } 
    .container{
    
    
      display:flex;
      flex-wrap:wrap;
      display: -webkit-flex; /* Safari */
    }
    .container>.item{
    
    
      border: 1px solid black;
      flex:1; 
      height:100px;
      background: #abcdef;
    }
  </style>
</head>
<body>
  <div class="container">  
    <div class="item"></div>
    <main class="item"></main>
    <div class="item"></div>
  </div>
</body>
</html>

Fügen Sie hier eine Bildbeschreibung einBeispiel zwei:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
    <title>flex 布局</title>
  <style> 
    *{
    
    
      padding:0;
      margin:0;
      box-sizing: border-box;
    }
    body,html{
    
    
      width: 100%;
      height: 100vh;
      min-width: 800px;
      display:flex;
      display: -webkit-flex; /* Safari */
      justify-content: center;
      align-items: center;
    } 
    .container{
    
    
      width: 300px;
      height: 300px;
      display:flex;
      display: -webkit-flex; /* Safari */
      flex-wrap: wrap;
    }
    .container>.item{
    
    
      flex:0 0 33.3%; 
      height:100px;
      background: #abcdef;
      border: 1px solid red;
    }
    main{
    
    
      flex:0 0 33.3%; 
      height:100px;
      background-color: #ccc;
      border: 1px solid red;
    }
  </style>
</head>
<body>
  <div class="container">  
    <div class="item">left</div>
    <main>main</main>
    <div class="item">right</div>
    <div class="item">left</div>
    <main>main</main>
    <div class="item">right</div>
    <div class="item">left</div>
    <main>main</main>
    <div class="item">right</div>
  </div>
</body>
</html>

Fügen Sie hier eine Bildbeschreibung ein
flex:0 0 33,3 % entspricht flex-basis:33,3 %, wodurch die Breite jedes Elements 33,3 % des äußeren Containers ausmacht, sodass jede Zeile bis zu drei Elemente aufnehmen kann.

flex-wrap:wrap bedeutet, dass jede Zeile automatisch umbrochen wird, wenn sie gefüllt ist.

Beispiel drei:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
    <title>flex 布局</title>
  <style> 
    *{
    
    
      padding:0;
      margin:0;
      box-sizing: border-box;
    }
    body,html{
    
    
      width: 100%;
      height: 100vh;
      min-width: 800px;
      display:flex;
      display: -webkit-flex; /* Safari */
      justify-content: center;
      align-items: center;
    } 
    .container{
    
    
      width: 300px;
      height: 300px;
      margin: 50px;
      display:flex;
      display: -webkit-flex; /* Safari */
      flex-wrap: wrap;
      justify-content: space-between;
    }
    .container>.item{
    
    
      flex:0 0 30%; 
      height:90px;
      background: #abcdef;
      border: 1px solid red;
    }
    main{
    
    
      flex:0 0 30%; 
      height:90px;
      background-color: #ccc;
      border: 1px solid red;
    }
  </style>
</head>
<body>
  <div class="container">  
    <div class="item">left</div>
    <main>main</main>
    <div class="item">right</div>
    <div class="item">left</div>
    <main>main</main>
    <div class="item">right</div>
    <div class="item">left</div>
    <main>main</main>
    <div class="item">right</div>
  </div>
</body>
</html>

Fügen Sie hier eine Bildbeschreibung ein
justify-content:space-between bedeutet, dass der überschüssige Platz in Richtung der Hauptachse gleichmäßig auf zwei Elemente verteilt wird.

Guess you like

Origin blog.csdn.net/HH18700418030/article/details/103411787