CSS3 彈性盒佈局


CSS3 提供了一種名為彈性盒佈局的佈局模式,通常稱為 Flexbox。Flexbox(彈性盒)是 CSS3 的一種佈局模式。使用此模式,您可以輕鬆建立複雜應用程式和網頁的佈局。它包括容器、彈性專案等。容器具有以下屬性:

  • flex-direction

  • flex-wrap

  • flex-flow

  • justify-content

  • align-items

  • align-content

設定父 div

首先,設定一個父 div 並使用 `display: flex` 樣式化容器。使用 `display: flex` 使彈性容器變得靈活。使用 `flex-wrap: wrap` 包裹彈性專案:

.container {
   display: flex;
   flex-wrap: wrap;
   justify-content: space-evenly;
   background-color: lightblue;
}

設定第一個容器

在父 div 中,現在設定第一個容器。

<div class="container1">
   <div>1</div>
   <div>2</div>
   <div>3</div>
</div>

現在,樣式化第一個容器。我們為 div 設定了 `display: flex`。使用 `display: flex` 使彈性容器變得靈活:

.container1 {
   align-self: flex-start;
   display: flex;
   background-color: rgb(71, 30, 255);
   width: 200px;
   margin: 20px;
}

設定第二個容器

在父 div 中,設定第二個容器:

<div class="container2">
   <div>1</div>
   <div>2</div>
   <div>3</div>
</div>

現在,樣式化第二個容器。我們為 div 設定了 `display: flex`。使用 `display: flex` 使彈性容器變得靈活。使用 `justify-content` 屬性對齊彈性專案:

.container2 {
   display: flex;
   background-color: rgb(14, 126, 79);
   width: 200px;
   justify-content: center;
   align-self: flex-start;
   margin: 20px;
}

設定第三個容器

在父 div 中,設定第三個容器。

<div class="container3">
   <div>1</div>
   <div>2</div>
   <div>3</div>
</div>

現在,樣式化第三個容器。我們為 div 設定了 `display: flex`。使用 `display: flex` 使彈性容器變得靈活:我們在這裡還設定了 flex-direction。`flex-direction` 的 `column` 值將彈性專案垂直堆疊(從上到下):

.container3 {
   display: flex;
   flex-direction: column;
   background-color: rgb(168, 60, 10);
   width: 200px;
   align-items: center;
   margin: 20px;
}

設定第四個容器

在父 div 中,設定第四個容器:

<div class="container4">
   <div>1</div>
   <div>2</div>
   <div>3</div>
</div>

現在,樣式化第四個容器。

.container4 {
   background-color: rgb(26, 10, 168);
   width: 200px;
   margin: 20px;
}

示例

以下是使用 CSS3 顯示彈性佈局的程式碼:

<!DOCTYPE html>
<html>
<head>
   <style>
      body {
      font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
   }
   .container {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-evenly;
      background-color: lightblue;
   }
   .container1 {
      align-self: flex-start;
      display: flex;
      background-color: rgb(71, 30, 255);
      width: 200px;
      margin: 20px;
   }
   .container1 > div,
   .container2 > div,
   .container3 > div,
   .container4 > div {
      background-color: #f1f1f1;
      margin: 10px;
      padding: 10px;
      font-size: 30px;
   }
   .container2 {
      display: flex;
      background-color: rgb(14, 126, 79);
      width: 200px;
      justify-content: center;
      align-self: flex-start;
      margin: 20px;
   }
   .container3 {
      display: flex;
      flex-direction: column;
      background-color: rgb(168, 60, 10);
      width: 200px;
      align-items: center;
      margin: 20px;
   }
   .container4 {
      background-color: rgb(26, 10, 168);
      width: 200px;
      margin: 20px;
   }
   </style>
</head>
<body>
   <h1>Flex layout example</h1>
   <div class="container">
      <div class="container1">
         <div>1</div>
         <div>2</div>
         <div>3</div>
      </div>
      <div class="container2">
         <div>1</div>
         <div>2</div>
         <div>3</div>
      </div>
      <div class="container3">
         <div>1</div>
         <div>2</div>
         <div>3</div>
      </div>
      <div class="container4">
         <div>1</div>
         <div>2</div>
         <div>3</div>
      </div>
   </div>
</body>
</html>

更新於:2023年10月31日

156 次瀏覽

開啟您的職業生涯

完成課程,獲得認證

開始學習
廣告