使用 align-items 在沒有換列下處理 Cross Axis 對齊
justify-content 可決定 Main Axis 對齊,若想控制 Cross Axis 對齊,則可使用 align-items。
justify-content 可決定 Main Axis 對齊,若想控制 Cross Axis 對齊,則可使用 align-items。
Flexbox 雖然看起來使 Block 從垂直排列變成水平排列,事實上是由 flex-direction Property 決定 Main Axis 排列方向。
Flexbox 的優點之一是只要設定 flex-wrap 就支援自動換列換行,適合 RWD 排版。
word-break 專門針對文字換行處理,但中英文處理不太一樣。
Browser 預設對於 white space 會加以合併,且 寬度不足 時自動換行,若想改變這些預設行為,就要設定 white-space。
由 API 所回傳的資料可能過長而換行顯示,但有時我們不希望換行影響版面,而想直接在該行截斷 String 加上 ... 即可,當然可以使用 JavaScript 處理,但隨著 RWD 寬度改變,JavaScript 將面臨挑戰,比較好的方式是使用 CSS 解決。
傳統若要將 String 字首變大寫,直覺會使用 JavaScript,事實上使用 CSS 即可。
使用 calc() 與 Media Query,我們可根據 iPhone、iPad、iPad Pro、MacBook Air 與 iMac 分別設定不同 Column Width。
若要建立可 RWD 的 Layout,也可藉由 calc() 與 border-box 先建立 Column,最後再將 Item 放進 Column 內。
為了實現 RWD,我們會將 width 與 margin 都改用 % 而非 px,但這會造成 margin 隨 Browser 寬度改變,若要 margin 固定而 width 依舊使用 %,則要借數 calc() 根據固定 margin 動態計算 width。