0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

box-sizingプロパティについて

Last updated at Posted at 2020-05-26

##はじめに
box-sizingプロパティについて、初心者向けに備忘録としてまとめてみました。

##何の為に指定するのか
box-sizingを指定する事でボックスの高さ(height)と幅(width)の算出方法を変更することが出来ます。
borderやpaddingを設定した際にボックス全体のサイズが変わってしまい、レイアウトが崩れたりするのを防ぎます。

##記述方法

box-sizing: 値;

値には下記を指定します。
content-box :ボックスサイズにborderとpaddingを含めません。初期値。
border-box :ボックスサイズにborderとpaddingを含めます。
・ inherit:親要素の値を継承します。

content-box

borderとpaddingの分だけ、ボックスの幅と高さが指定した200pxよりも大きくなります。

See the Pen vYNMzvb by trym-endo (@poci) on CodePen.

border-box

borderとpaddingに関わらず、ボックスの幅、高さ共に指定した通り200pxになっています。

See the Pen KKdYXEe by trym-endo (@poci) on CodePen.

##全体に適用するとどのようなメリットがあるのか
CSSで全要素にbox-sizing:border-box;を指定する事で、paddingやborderに関わらず要素全体の幅は指定したwidthの値となる為、計算の手間が省けます。

ユニバーサルセレクタ(*)で指定する場合

* {
  box-sizing: border-box;
}

bodyに指定して子要素に継承する場合

※box-sizingは子要素に引き継がれない為、inheritで継承する必要があります。


body{
  box-sizing: border-box;
}
body *{
  box-sizing: inherit;
}

##まとめ
あらかじめページ内の全要素にbox-sizing:border-box;を指定しておくと、paddingやborderによってボックス要素のサイズが変化する事がない為、コーディングがしやすくなるメリットがあります。

0
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?