CHAPTER 07 · PRACTICE WORKSPACE

Grid 卡片牆、換行與 overflow

完成整齊且不溢出的作品卡片列表

01 Starter 0/3
  1. 01Starter讀懂作品骨架
  2. 02Checkpoint 1加入第一項能力
  3. 03Checkpoint 2累積第二項能力
  4. 04Solution核對完整結果

TASK STATUS

三項任務目前狀態

TASK-01本階段處理

建立自動調整欄數的 Grid

修改檔案:style.css

完成後看見:作品卡片依寬度自動排成多欄

TASK-02稍後處理

加入一致的卡片間距

修改檔案:style.css

完成後看見:卡片之間留有整齊空隙

TASK-03稍後處理

處理過長網址溢出

修改檔案:style.css

完成後看見:長網址會換行且不超出卡片

WORKSPACE

本階段實作區

先確認作品目前能做什麼、還缺什麼,再從 TASK-01 開始修改。

FOCUS TASK · TASK-01

現在只處理:建立自動調整欄數的 Grid

修改:style.css

完成後:作品卡片依寬度自動排成多欄

講解時展開:2 個小型比較

欄數 vs 卡片寬度|Grid 由誰決定

比較:grid-template-columns 決定欄列結構,單一卡片 width 不應破壞整組自動排列。

現在做:在 DevTools 先對 .project-grid 暫時加入 display: grid、grid-template-columns: repeat(3, 1fr);再只對第一張 .project-card 加 width: 320px,觀察欄列結構與單一卡片寬度各自造成什麼變化。移除 width 後,把欄位規則留在共同父層,最後改回標準的 repeat(auto-fit, minmax(240px, 1fr))。

看預期與證據

預期:能用前後畫面指出 grid-template-columns 決定整組欄列,單一卡片 width 只改自己的盒子且可能破壞一致欄寬;最後的欄位責任應留在 .project-grid。

證據:截圖或口述同時標示 .project-grid 的 computed display、grid-template-columns,以及第一張卡暫時 width 的差異,並展示最後移除單卡 width。

auto-fit vs 固定欄數|依寬度適應

比較:auto-fit/minmax 能讓欄數依容器寬度變化,固定欄數則容易在窄畫面溢出。

現在做:在 Starter 的 DevTools 先暫時把 .project-grid 設成 display: grid、grid-template-columns: repeat(3, 1fr),將視窗縮到 390px,記錄固定三欄造成的擠壓或溢出;再改成 repeat(auto-fit, minmax(240px, 1fr)),相同寬度重跑,最後保留標準自適應規則。

看預期與證據

預期:能以同一個 390px 寬度比較固定三欄與 auto-fit/minmax:前者把欄位硬塞在窄空間,後者改用可容納的欄數;能說出 auto-fit 調整的是欄位,不是單一卡片的 width。

證據:留下同一視窗寬度的兩張截圖或口述,並指出 computed grid-template-columns、欄數與頁面是否出現水平捲動的差異。

需要排錯時查看:任務循環(觀察 → 預測 → 實作 → 故障 → 驗收)
  1. A|觀察:以桌機寬度開啟 Starter,確認 .project-grid 尚未設定 display:grid,四張作品卡因此直向排列。
  2. B|預測:慢慢縮放視窗,觀察作品卡片是否依可用寬度自動改變欄數。
  3. C|實作:在 style.css 的 .project-grid 完成「建立自動調整欄數的 Grid」,一次只處理本任務責任。
  4. D|故障:若結果不一致,先依原操作重現,再檢查 .project-grid 與 style.css,最後重跑原操作。
  5. E|驗收:作品卡片依寬度自動排成多欄

完成條件:DONE-01:作品卡片依寬度自動排成多欄

第 06 章交棒

Flex 排好隊,現在讓卡片入住格子

上一章已完成橫向導覽與左右兩欄;本章把共同父層的排列責任擴成同時管理列與欄,並處理長內容。

我的作品

活動報名頁

清楚呈現活動資訊與報名流程。

查看作品

個人介紹頁

整合文字、圖像與學習歷程。

查看作品

作品查看區

這是本地練習目標;卡片連結都指向這個頁內區塊,長網址文字用來驗收卡片內換行,不需要連線。

CONTINUE

開始 TASK-01

前往 Checkpoint 1,依要求完成「建立自動調整欄數的 Grid」。

前往 Checkpoint 1:完成 TASK-01