Block Formatting Context
區塊格式化情境
區塊格式化情境(BFC)是一個獨立處理區塊版面的範圍。它能把浮動元素包在裡面,也能阻止部分外距和浮動元素影響外部內容。
另一個例子
舊文章卡片中的浮動縮圖會讓背景塌掉,文字還會繞到旁邊的浮動元素。加入 `display: flow-root` 建立 BFC 後,縮圖會留在卡片內,原本需要的子元素外距也會保留。它不像 `overflow: hidden`,不會裁掉焦點框。
主要部分
- 01BFC 根元素
- 02被包含的 Float
- 03隔離的區塊流
什麼時候用
元件需要包住浮動元素,或把區塊版面的影響留在內部,又不能裁切內容時,可以使用 `flow-root`。
什麼時候不要用
不要習慣性用 `overflow: hidden` 清除浮動。它可能裁掉內容、陰影、彈出層或焦點標示。
程式裡的名稱
display: flow-root (or another BFC-establishing condition) 上線前要檢查
檢查內容先後順序、共用設計變數、元件一致性、對比、縮放,以及版面能否隨螢幕大小調整。驗證每個主題、語系與狀態;有動態效果時,也要提供同樣完整的減少動態效果版本。
預期成果:定義或使用 區塊格式化情境 (Block Formatting Context),做出清楚、一致又好用的視覺體驗。 使用者情境:舊文章卡片中的浮動縮圖會讓背景塌掉,文字還會繞到旁邊的浮動元素。加入 `display: flow-root` 建立 BFC 後,縮圖會留在卡片內,原本需要的子元素外距也會保留。它不像 `overflow: hidden`,不會裁掉焦點框。 要運用的設計概念:區塊格式化情境 (Block Formatting Context)。 適用理由:元件需要包住浮動元素,或把區塊版面的影響留在內部,又不能裁切內容時,可以使用 `flow-root`。 不應使用的情況:不要習慣性用 `overflow: hidden` 清除浮動。它可能裁掉內容、陰影、彈出層或焦點標示。 設計要求:定義內容先後順序、可重用的設計變數(Token)與元件。說明版面如何隨螢幕大小和狀態改變。分清楚必要的設計方向與純裝飾。 包容性與韌性:檢查對比、縮放、多語系、主題切換與減少動態效果。不能只靠顏色或特效傳達意思。 驗收條件:在手機、桌面、縮放、各種主題與所有支援語系中仍清楚可讀。每個互動狀態都一致且容易理解。 證據與限制(證據邊界):正式文件仍可能是草案、候選版或最終版。請查看文件狀態,也要確認瀏覽器或平台是否支援。 待確認:品牌限制、內容多寡、支援的主題與語系、目標裝置,以及現有設計系統規則。
檢查這份需求
請 AI 程式助手檢查目前如何使用 區塊格式化情境 (Block Formatting Context)。 定義:區塊格式化情境(BFC)是一個獨立處理區塊版面的範圍。它能把浮動元素包在裡面,也能阻止部分外距和浮動元素影響外部內容。 正式環境檢查:檢查內容先後順序、共用設計變數、元件一致性、對比、縮放,以及版面能否隨螢幕大小調整。驗證每個主題、語系與狀態;有動態效果時,也要提供同樣完整的減少動態效果版本。 修改程式前,先列出看到的證據、缺口、嚴重程度,以及最小且安全的修正。