CSS:widthの計算をめっちゃ楽にしてくれるプロパティ


最終更新日:2020.11.14
Pocket

ボックスの横幅の計算方法、皆さんご存じでしょうか。

一般的には

widthの値 + padding左右ぶん + border左右ぶん

が、最終的なそのボックスの横幅になりますね。

ボックスというのは、paddingとborderが内側にあって、marginは外側にある…という仕組みを理解していれば
まぁしょうがないのかな…というような気にもなったりはしますが

それでも計算めんどくさい!!

 

というあなたにおすすめのプロパティです。

その名もbox-sizingちゃん

 

リファレンスはこちら→http://www.htmq.com/css3/box-sizing.shtml

 

つまり、ボックス幅(と高さ)の算出方法を変えてくれるってことです!

デフォルトの値(初期値)は、

box-sizing: content-box;

これが、冒頭で触れた、widthとpadding左右ぶんとborder左右ぶんを別々に足し算しないといけない方法です。

 

そして、今回ご紹介したい書き方はこちら↓

box-sizing: border-box;

これは、padding左右ぶんとborder左右ぶんをwidthに含めてくれるというハイパー便利な記述なのです!

 

これがあれば、

「とりあえず横並びにしたいからwidth: 50%にして~、内側に余白着けたいからpadding10px設定して~、あ、borderも2pxつけるから・・・・最終的にwidthは・・・calc(50% – 12px)…?」

みたいなよくわからないことをしなくて済むんです!!!!

そんな式を書くくらいならbox-sizing: border-box を書いてあげましょう!!!

 

多分レスポンシブサイトを作るとき(単位%やvwを多用するシーン)に重宝すると思うので
中級者さんはぜひ覚えておいてくださいね(*’▽’)

Pocket