先看這個例子
三個工具標籤各佔 120px,一行闊 250px、間距 10px,容許換行。兩項剛好用 250px,第三項須另起一行。
| 情況 | 輸入或查看方法 | 結果與意思 |
|---|---|---|
| 首行 | 120+10+120 | 250px;編輯器、瀏覽器同一行 |
| 第三項 | 查看檢查工具的頂部位置 | 在下一條 flex 行開始 |
| 較窄邊界 | 把一行闊度改成 249px | 三項各自一行 |
瀏覽器怎樣處理
Flex 分行時會計項目尺寸和間距。flex:0 0 120px 令本例項目不縮窄,臨界點才清楚。這是闊度實驗,不是要求所有正式工具列都寫死這些尺寸。
漏計間距,就會估錯可放數量
反例只把容器窄一像素,項目闊度和間距不變。
<style>body{margin:8px}</style>
<style>.tools{display:flex;flex-wrap:wrap;width:249px;gap:10px}.tools p{margin:0;flex:0 0 120px}</style><section class="tools"><p>編輯器</p><p>瀏覽器</p><p>檢查工具</p></section>只計 120+120 看似放得下,但必需 10px 間距令合計變 250px,實際因此分成三行。
試着修正
三項固定闊度要放同一行,最少需要多少闊度?
查看參考答案
380px,即三項各 120px,加兩個 10px 間距。
- 臨界點前後,比較各項頂部座標。
- 只計項目之間的間距,不在外邊額外加一個。