CSS box-sizing paddingとborderの表示方法

目次

サンプル box-sizing
幅と高さにpaddingとborderを含まない (content-box)
  幅と高さにpaddingとborderを含む (border-box)

box-sizing

box-sizingは、padding(パディング)とborder(ボーダー)の表示方法を指定します。

box-sizing : 値

値は以下を設定します。

content-box 幅と高さにpaddingとborderを含みません。
(幅と高さにpaddingとborderが別に追加される)。デフォルト。
border-box 幅と高さにpaddingとborder領域を含みます。
(幅と高さ=幅と高さ(paddingとborder分減る)+paddingとborder分になる)

 

幅と高さにpaddingとborderを含まない (content-box)

widthは300でheightは100の四角を作成しました。

paddingとborderを5としています。

content-boxを指定しています。

四角の周りのpaddingとborderで上下左右に5ずつ入っているので

全体の四角としては、widthは320でheightは120になります。

幅と高さに、padding、borderを含まないということになります。

<style>
  .box1 {
    width: 300px;
    height: 100px;
    padding: 5px;
    border: 5px solid rgb(51, 107, 160);
    box-sizing: content-box; /* パディングとボーダーを含まない */
  }
</style>
<div class="box1">box-sizing:content-box</div>

 

幅と高さにpaddingとborderを含む (border-box)

widthは300でheightは100の四角を作成しました。

paddingとborderを5としています。

border-boxを指定しています。

図の青い四角の箇所は280☓80と減っています。

その周りにpaddingとborderで上下左右に5ずつ入っているので

全体の四角としては、300☓100になります。

幅と高さに、padding、borderを含むということになります。

<style>
  .box2 {
    width: 300px;
    height: 100px;
    padding: 5px;
    border: 5px solid #000;
    box-sizing: border-box; /* パディングとボーダーを含む */
  }
</style>
<div class="box2">box-sizing:border-box</div>

関連の記事

CSS border-collapse テーブルの枠線を重ねる/離す
CSS border 線を引く/消す,線の種類を指定

△上に戻る