讓圖片不超出容器
不是背名詞,而是能在練習頁操作、指出程式位置並解釋畫面結果。
CHAPTER 12 · 180 MINUTES
桌機上好看的三欄卡片到了手機擠成細條,圖片撐出水平捲動,導覽連結小到難以點擊。
LEARNING GOALS
不是背名詞,而是能在練習頁操作、指出程式位置並解釋畫面結果。
不是背名詞,而是能在練習頁操作、指出程式位置並解釋畫面結果。
不是背名詞,而是能在練習頁操作、指出程式位置並解釋畫面結果。
PROBLEM & ANALOGY
RWD 像搬家時依房間大小重新擺家具:不是把整間客廳縮小,而是決定哪些家具換行、改成單欄或保留舒適距離。
本章要解決:桌機上好看的三欄卡片到了手機擠成細條,圖片撐出水平捲動,導覽連結小到難以點擊。
接住上一章:第 11 章整理完成的作品集 CSS。
合回共同作品:本章成果必須回到同一份作品集檢查,不另開一個無關小作品。
SCOPE
讓圖片不超出容器;讓卡片依可用寬度改欄數;讓手機導覽可換行且容易點擊。
能辨識固定寬度、內容溢出與可點擊範圍不足。
不追求特定手機型號的像素完美,也不做 JavaScript 漢堡選單。
本章術語:viewport、breakpoint、media query、fluid image、overflow、touch target。遇到英文先回到畫面責任,不要求背拼字。
CORE IDEAS
max-width: 100% 只解決溢出,仍要保留 width 與 height 避免版面跳動。DEBUG
課堂刻意錯誤:把圖片設成 width: 900px,讓頁面出現水平捲軸;學生先用 DevTools 找出超寬元素,再改為流動圖片。
固定順序:先重現 → 讀 Console/Styles → 確認檔案與元素 → 一次只修一處 → 重跑原操作。
先查:找超出視窗的圖片、固定寬度或長文字,再修真正來源。
先查:用內容寬度重新判斷欄數,不要只增加媒體查詢。
先查:確認連結可換行、點擊區有內距,沒有固定寬度撐開。
PRACTICE CONTRACT
檔案:style.css
位置:依任務文字搜尋對應元素或函式
結果:320px 寬度不再出現圖片造成的水平捲動
檔案:style.css
位置:依任務文字搜尋對應元素或函式
結果:手機一欄、較寬畫面兩欄
檔案:style.css
位置:依任務文字搜尋對應元素或函式
結果:導覽不溢出,每個連結保有足夠內距
EVIDENCE
在 ______ 寬度,我找到 ______ 撐破版面;用 ______ 修正後,導覽點擊區是 ______。
不要用全域 overflow:hidden 掩蓋溢出;需指出真正超出的元素與修正責任。
提供 320px、768px、桌機三張截圖,並在 320px 逐一點開導覽連結。
下一章:第 13 章會把前十二章成果整合成同一份作品集。