WeHelp
掌握基礎的 HTML、CSS 觀念、語法、和切版技巧,初步建立網頁介面的開發能力。
  1. HTML 快速開始
  2. HTML 常用標籤
  3. HTML 標籤排列方式
  4. CSS 快速開始
  5. CSS 區塊模型
  6. CSS 選擇器
  7. CSS 樣式檔案
  8. DIV、SPAN 標籤
  9. Flexbox 切版技巧
  10. Grid 切版技巧
Flexbox 切版技巧
## CSS Flexbox 基本切版技巧 Flexbox 適合用來處理一維版面,例如: - 水平排列導覽列 - 垂直置中內容 - 按鈕或卡片平均分布 - 建立左右欄位 Flexbox 的設定通常加在「父層容器」上,子元素則會依規則排列。 --- ## 1. `display: flex` ```css .container { display: flex; } ``` 將元素設定為 Flex 容器後,裡面的「直接子元素」會自動成為 Flex 項目。 預設排列方向為水平方向: ```css .container { display: flex; } ``` HTML: ```html <div class="container"> <div>區塊 A</div> <div>區塊 B</div> <div>區塊 C</div> </div> ``` 結果會由左到右排列。 若希望改成垂直排列,可以搭配: ```css .container { display: flex; flex-direction: column; } ``` --- ## 2. `justify-content` `justify-content` 控制「主軸」上的排列方式。 當預設為水平排列時,主軸就是水平方向。 常見設定: ```css .container { display: flex; justify-content: flex-start; } ``` ### 常用值 | 設定值 | 說明 | |---|---| | `flex-start` | 靠主軸起點排列,預設值 | | `center` | 置中排列 | | `flex-end` | 靠主軸終點排列 | | `space-between` | 第一個靠起點、最後一個靠終點,其餘平均分配 | | `space-around` | 每個項目左右都有間距 | | `space-evenly` | 每個項目之間與外側間距完全相等 | 例如: ```css .container { display: flex; justify-content: space-between; } ``` 適合用於讓左右兩個區塊分別貼齊容器兩側。 --- ## 3. `align-items` `align-items` 控制「交叉軸」上的對齊方式。 當預設為水平排列時,交叉軸就是垂直方向。 ```css .container { display: flex; align-items: center; } ``` ### 常用值 | 設定值 | 說明 | |---|---| | `stretch` | 預設值,子元素會拉伸填滿交叉軸 | | `flex-start` | 靠交叉軸起點 | | `center` | 垂直或交叉軸置中 | | `flex-end` | 靠交叉軸終點 | | `baseline` | 依文字基線對齊 | 最常見的置中寫法: ```css .container { display: flex; justify-content: center; align-items: center; } ``` 這樣可以讓子元素同時水平與垂直置中。 --- ## 簡單版面案例:導覽列 ### HTML ```html <header class="navbar"> <div class="logo">My Website</div> <nav class="menu"> <a href="#">首頁</a> <a href="#">關於我們</a> <a href="#">聯絡方式</a> </nav> </header> ``` ### CSS ```css .navbar { display: flex; justify-content: space-between; align-items: center; padding: 16px 32px; background-color: #333; color: white; } .menu { display: flex; justify-content: flex-end; align-items: center; gap: 24px; } .menu a { color: white; text-decoration: none; } ``` ### 效果說明 - `.navbar` 使用 `display: flex`,讓 Logo 與選單水平排列。 - `justify-content: space-between` 讓 Logo 靠左、選單靠右。 - `align-items: center` 讓兩者在垂直方向置中。 - `.menu` 也使用 Flexbox,讓導覽連結水平排列。 - `gap: 24px` 控制連結之間的間距。 --- ## 常見置中版面 ```html <div class="card-container"> <div class="card"> 內容區塊 </div> </div> ``` ```css .card-container { display: flex; justify-content: center; align-items: center; height: 300px; background-color: #f2f2f2; } .card { padding: 40px; background-color: white; } ``` 這會讓 `.card` 在容器內水平與垂直置中。
相關學習地圖、教學課程
F2E 網站前端工程
從 0 開始,成為網站前端工程師的學習路徑。