「要素の幅(width)と高さ(height)の中にpaddingとborderを含めるかどうか」という設定ができる。
- content-box;はpaddingとborderを幅と高さに含めない(初期値)
- border-box;はpaddingとborderを幅と高さに含める
- inherit;は親要素のborder-boxの値を引き継ぐ
box-sizingの値をborder-boxにすることで、widthやheightのサイズ計算時にborder、paddingを除くような面倒な計算をしなくても済むようになる。box-sizingの初期値はcontent-box(padding/borderのサイズを含まない)なのでリセットCSSの値を最初に確認しておく。(疑似要素にも適用しておく)
*, *:before, *:after {
box-sizing: border-box;
}