全局設置 border-box 很好,更符合我們通常對一個「盒子」尺寸的認知。,其次它可以省去一次又一次的加加減減,它還有一個關鍵作用——讓有邊框的盒子正常使用百分比寬度。但是使用了 border-box 可能會與一些依賴默認 box-sizing 的庫沖突,不過這種問題大多數時候可以通過把交由這些庫處理的塊的 box-sizing 設置回 content-box 來解決。
推薦寫法是:html { box-sizing: border-box; } *, *:before, *:after { box-sizing: inherit; }
選擇器 * 無法覆蓋到偽元素,所以需要給 :before 和 :after 分別設置。而通過繼承的方式應用到所有元素,需要時可以方便的設置某個元素及其后代元素的 box-sizing 回 content-box。