LESSON-07 · TOPIC 01
flex-direction 與主/交叉軸 能由 flex-direction 判斷主軸方向,並正確解釋 justify-content 與 align-items 各控制哪一條軸。
code-edit Flexbox 軸線、縮放與順序|flex-direction 與主/交叉軸 本頁只練一個責任
Starter Checkpoint Solution 本頁只練什麼 能由 flex-direction 判斷主軸方向,並正確解釋 justify-content 與 align-items 各控制哪一條軸。
若把水平與垂直背成固定答案,direction 改為 column 後就會反向調錯 property。
要修改的檔案: files/starter/style.css
定位: 先在 Computed 讀 flex-direction,不先猜 justify-content 是水平或垂直。|依 starter-1 定位,只修改「flex-direction 與主/交叉軸」的責任。
任務情境 先結果,再原理;完成後要能說出自己看見的證據。
現在的問題 服務按鈕列在桌機橫排,窄版要改直排,但原本的置中規則方向跟著變了。
起始狀態: container 為 display:flex、flex-direction:row,三個 item 沿主軸橫排。
完成後要看到 runtime 的 flex-direction 由 row 變 column;學生能指出主軸由 inline 方向改為 block 方向,justify/align 的責任隨軸改變。
驗收證據: runtime before=row、after=column、property=flex-direction;畫面 item rect 由橫向分布改成縱向堆疊
何時會用到 導覽、按鈕列、卡片列需要切換橫排/直排或調整兩軸對齊時。
常見混淆: row 不保證由左到右;文字方向與 writing mode 也會影響 main-start/main-end。
觀念與最小範例 這段程式是理解起點,不是要你直接跳過 Starter。
flex-direction 與主/交叉軸 Flex direction, main axis, and cross axis 主軸是物件排隊的方向;交叉軸就是跟它垂直的另一條方向。
正式說法: flex-direction establishes the flex container main axis;cross axis perpendicular to it。justify-content distributes free space along main axis,align-items aligns items along cross axis。
.service-list{display:flex;flex-direction:row;justify-content:space-between;align-items:center}複製這段
三步完成本主題 每一步都留下可觀察結果;如果沒看到,先看「卡住先查」。
Step 1|先看見目前缺口,不急著貼答案。 檔案: files/starter/style.css 定位: 先在 Computed 讀 flex-direction,不先猜 justify-content 是水平或垂直。
要做: 先重新載入 Starter,記錄目前畫面、DOM、Computed、Console 或文件內容。
預期: 能指出「先在 Computed 讀 flex-direction,不先猜 justify-content 是水平或垂直。」目前的缺口。
證據: 保存 files/starter/style.css 的目前狀態,並指出下一步只會修改哪個檔案責任。
卡住先查: 確認開啟的是 files/starter/style.css,且定位到 先在 Computed 讀 flex-direction,不先猜 justify-content 是水平或垂直。。
Step 2|只修改本主題的一個責任。 檔案: files/starter/style.css 定位: 先在 Computed 讀 flex-direction,不先猜 justify-content 是水平或垂直。
要做: 執行實驗替 Flex container 切換 direction-column class,讀取 computed flex-direction。
預期: runtime 的 flex-direction 由 row 變 column;學生能指出主軸由 inline 方向改為 block 方向,justify/align 的責任隨軸改變。
證據: runtime before=row、after=column、property=flex-direction;畫面 item rect 由橫向分布改成縱向堆疊
卡住先查: 先在 Computed 讀 flex-direction,不先猜 justify-content 是水平或垂直。
Step 3|重新載入並以證據驗收,不以『看起來差不多』判定完成。 檔案: files/starter/style.css 定位: 先在 Computed 讀 flex-direction,不先猜 justify-content 是水平或垂直。
要做: 重新整理頁面,再逐項比對預期結果與 evidence。
預期: runtime 的 flex-direction 由 row 變 column;學生能指出主軸由 inline 方向改為 block 方向,justify/align 的責任隨軸改變。
證據: runtime before=row、after=column、property=flex-direction;畫面 item rect 由橫向分布改成縱向堆疊
卡住先查: 先在 Computed 讀 flex-direction,不先猜 justify-content 是水平或垂直。
觀察示範 這個示範只讓你看懂概念,不會替你修改 Starter,也不會自動宣告完成。
flex-direction 與主/交叉軸 runtime fixture · read-only demo
驗收證據 勾選只是學習紀錄;真正完成仍要回到 Starter 的實際結果。
提示 1|方向 先找物件排隊方向,那就是 main axis。
提示 2|關鍵片段 切成 column 後,justify-content 改管垂直主軸,align-items 改管水平交叉軸。
提示 3|完整解答與原因 完整解答與原因:runtime 由 row 切到 column;flex-direction 重新定義主軸,因此 justify/align 的視覺方向也隨之交換。