1. 程式人生 > 實用技巧 >css盒子模型_css全域性設定border-box

css盒子模型_css全域性設定border-box

box-sizing 屬性

1.content-box 是預設值。如果你設定一個元素的寬為100px,那麼這個元素的內容區會有100px寬,並且任何邊框和內邊距的寬度都會被增加到最後繪製出來的元素寬度中。

2.border-box 告訴瀏覽器去理解你設定的邊框和內邊距的值是包含在width,height內的。也就是說,如果你將一個元素的width設為100px,那麼這100px會包含其它的border和padding,內容區的實際寬度會是width減去border + padding的計算值。大多數情況下這使得我們更容易的去設定一個元素的寬高。

全域性設定border-box的好處

全域性設定 border-box 很好,更符合我們通常對一個「盒子」尺寸的認知。,其次它可以省去一次又一次的加加減減,它還有一個關鍵作用:讓有邊框的盒子正常使用百分比寬度

。但是使用了 border-box 可能會與一些依賴預設 box-sizing 的庫衝突,不過這種問題大多數時候可以通過把交由這些庫處理的塊的 box-sizing 設定回 content-box 來解決。

字由https://www.wode007.com/sites/73248.html 中國字型設計網https://www.wode007.com/sites/73245.html

全域性設定border-box程式碼實現

html {
  box-sizing: border-box;
}
*,*::before,*::after {
  box-sizing: inherit;
}

  

說明:

選擇器 * 無法覆蓋到偽元素,所以需要給 :before 和 :after 分別設定。
box-sizing: border-box 新增padding 或者border 不影響元素的width 或者height 。
box-sizing: inherit 使元素尊重其父元素box-sizing 規則。