理解 CSS3 中的 Flex 佈局模型


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

  • flex-direction - 設定彈性專案的排列方向

  • flex-wrap - 設定彈性專案是否應該換行

  • flex-flow - 它是 flex-wrap 和 flex-direction 的簡寫屬性

  • justify-content - 對齊彈性專案

  • align-items - 垂直對齊彈性專案

  • align-content - 對齊彈性線

設定父容器

首先,設定一個 div 容器,並在其中包含三個子 div:container1、container2 和 container3:

<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>

將容器設定為彈性容器

使用 display 屬性和 flex 值將父容器設定為彈性容器:

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

將第一個子容器放置在頂部

要將子容器放置在頂部,請使用 align-self 屬性並將其設定為 flex-start:

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

將第二個子容器放置在頂部

第二個子容器也使用 align-self 屬性和 flex-start 值放置在頂部。justify-content 屬性與 center 值一起將彈性專案對齊到中心:

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

第三個子容器的垂直放置

flex-direction 屬性設定為 column 值以垂直顯示彈性專案。使用 align-items 屬性和 center 值將彈性專案對齊到容器的中間:

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

示例

以下是 CSS3 中描述 Flex 佈局模型的程式碼:

<!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;
      }
      .container1 {
         align-self: flex-start;
         display: flex;
         background-color: rgb(71, 30, 255);
         width: 200px;
         margin: 20px;
      }
      .container1 > 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;
      }
      .container2 > div {
         background-color: #f1f1f1;
         margin: 10px;
         padding: 10px;
         font-size: 30px;
      }
      .container3 {
         display: flex;
         flex-direction: column;
         background-color: rgb(168, 60, 10);
         width: 200px;
         align-items: center;
         margin: 20px;
      }
      .container3 > div {
         background-color: #f1f1f1;
         margin: 10px;
         padding: 10px;
         width: 20px;
         font-size: 30px;
      }
   </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>
</body>
</html>

更新於: 2024-01-02

117 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.