iT邦幫忙

2025 iThome 鐵人賽

DAY 27
0

學習目標

  • 熟悉主軸(main axis)與交叉軸(cross axis)的對齊控制
  • 掌握 justify-contentalign-itemsalign-content 的使用差異
  • 練習 flex-wrapflex-flow 讓元素自動換行
  • 結合 align-self 微調單一元素位置

body {
  font-family: "Microsoft JhengHei", sans-serif;
  margin: 20px;
  background: #f5f5f5;
}

h1 {
  text-align: center;
  margin-bottom: 20px;
}

.container {
  display: flex;
  margin: 20px auto;
  gap: 10px;
  padding: 10px;
  background: #ecf0f1;
  border-radius: 8px;
}

.row {
  flex-direction: row; /* 水平排列 */
  justify-content: space-around;
  align-items: center;
}

.column {
  flex-direction: column; /* 垂直排列 */
  align-items: flex-start;
}

.item {
  flex: 1;
  padding: 20px;
  background: #3498db;
  color: white;
  text-align: center;
  border-radius: 6px;
}

.center {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 200px;
  background: #9b59b6;
  color: white;
  border-radius: 8px;
  margin-top: 30px;
}

學習目標

  • 熟悉 justify-contentalign-itemsalign-content 的差異
  • 理解 flex-wrap 在多列布局中的應用
  • 使用 align-self 調整單一項目的對齊方式
  • 練習多種對齊組合實現彈性布局

常見錯誤與修正

  • ❌ 只用 justify-content 想控制垂直方向 → ✅ 用 align-itemsalign-content
  • ❌ 忘記加 flex-wrap → ✅ 元素太多時會擠爆容器
  • ❌ 所有項目都用同樣對齊 → ✅ 可搭配 align-self 做單獨調整
  • ❌ 固定高度容器亂跑 → ✅ 先設 height 或使用 min-height 穩定結構

今日小挑戰(可交付)

  • [ ] 嘗試修改 justify-content 各種排列方式
  • [ ] 使用 align-items 調整垂直對齊
  • [ ] 測試 flex-wrap 換行效果
  • [ ] 為單一元素加上 align-self
  • [ ] 結合 align-content 控制多行對齊

DAY27 心得

今天的 Flexbox 課程更進一步,學會了如何「讓版面自己對齊」。以前常常靠 margin、padding 微調位置,現在只要用 justify-contentalign-items 就能完成,整個世界都乾淨了許多。

我特別喜歡 align-self,因為它能讓單一元素跳脫一般規則,像是在整齊的隊伍裡稍微站高一點,很靈活也很好玩。flex-wrap 也讓我感受到彈性布局的魅力,版面不再被固定寬度限制。

這堂課讓我理解 Flexbox 不只是讓元素「排好」,而是讓布局更「有智慧」。未來進到 Grid 時,應該會更容易掌握整體版面思維。


上一篇
Day 26 - CSS Flexbox 基礎
下一篇
Day 28 - Grid 布局入門
系列文
程式煉金術:Bug退散!前端驅魔記29
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言