スマホ対応に便利!CSSのbox-sizingの使い方【初心者向け】

初心者向けにCSSで書くbox-sizingの使い方について解説しています。今流行りのレスポンシブデザインにも活用できます。簡単に表示させることができるので、ぜひ自分でも書いてみましょう。

テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日  調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名  調査手法:インターネット調査

CSSで書くbox-sizingの使い方について解説する記事です。

Webデザインをする上で、今や必須となったスマホ画面への対応にも便利です。

box-sizingを利用すると、paddingやborderに依存せずに画面レイアウトを調整できるので、ぜひ覚えておきましょう。

 

目次

1時間でできる無料体験!

 

【動画の解説はこちら!】

大石ゆかり

田島メンター!!HTML要素のpaddingを設定したら、ボックス(表示領域)全体の大きさも変わってしまって……ボックスの大きさをそのままにするにはどうしたらいいですか~?

田島悠介

そういうときはbox-sizingがとても便利だよ。

大石ゆかり

box-sizingは何をするんですか?

田島悠介

最初に指定したwidthとheightの範囲内でpaddingやborderを設定できる機能なんだ。まずは普段、paddingを設定したときにボックスの大きさがどうなっているかを確認してみよう。

 

box-sizingとは

box-sizingは、HTML要素の表示領域(ボックス)の算出方法として利用されるプロパティです。

また、padding(余白を調整する属性)やborder(境界線の太さを調整する属性)といったプロパティがあります。

paddingやborderプロパティを使用して余白や境界線の太さを設定すると、widthやheightの表示領域にpaddingとborderのサイズが加わります。

そのため、paddingやborderの値によってボックス全体の大きさが変わってしまうのです。

bsi_p_1

これは、paddingとborderのサイズがwidthやheightの表示領域に含まれず、別のものとして扱われているためです。

box-sizingプロパティで設定を変えることによって、ボックスの大きさにpaddingやborderを含めるよう設定することができます。

これにより、余白や境界線の太さに影響されずにボックスの大きさを決めることが可能になります。

大石ゆかり

そうそう、こんな感じで大きさが変わっちゃうんです。

田島悠介

これは、paddingやborderのサイズがwidthやheightの表示領域の上に加わってしまっているからなんだね。

大石ゆかり

そこでbox-sizingを使うんですね。実際にはどう書くんですか?

 

[PR] Webデザインで副業する学習方法を動画で公開中

box-sizingの書き方

box-sizingは以下のように記述します。

box-sizing: 値;

値の部分には以下のどちらかを入力します。

  • content-box:padding,borderを高さや幅に含めません(初期値)
  • border-box:padding,borderを高さや幅に含めます

 

実際にbox-sizingを書いてみよう

ここでは、box-sizingプロパティを実際に利用し、HTML要素の表示領域(ボックス)を設定します。

以下のhtmlにbox-sizingプロパティを使用します。

HTML

<!DOCTYPE html>
<html>
<head>
<meta charset=”utf-8″ />
<link rel=”stylesheet” href=”sample.css” type=”text/css”>
</head>
<body>
<p class=”content1″>content-box(初期値)の場合、paddingとborderはwidthとheightに含まれない</p>
<p class=”content2″>border-boxの場合、paddingとborderがwidthとheightに含まれる</p>
</body>
</html>

全く同じwidthとheightを設定した領域(幅400px、高さ150px)を2つ並べ、1つ目のボックスには初期値であるcontent-boxを、2つ目のボックスにはborder-boxを設定します。

CSS

p.content1 {
width: 400px; height: 150px; background-color:#f0f8ff;
border: 30px solid #4169e1; padding: 10px;
box-sizing: content-box;
}
p.content2 {
width: 400px; height: 150px; background-color:#f0f8ff;
border: 30px solid #4169e1; padding: 10px;
box-sizing: border-box;
}

画面では以下のように表示されます。

bsi_p_2

上のボックスではpaddingとborderに設定した分のサイズが元の幅と高さに追加されています。

下のボックスではwidthとheightの範囲内でpaddingとborderが生成されています。

 

コラム

実は私も!?独学で損する人の特徴

「スクールは高いから独学で成功する」という気持ちの方は多いと思います。
もちろんその方が金額は低く抑えられるでしょう。
ただ 独学には向き不向きがあり、実はスクールが向いている人も大勢います。

そんな方のために参考として、 テックアカデミー卒業生がスクールを選んだ理由 をご紹介します。

  • ・困って挫折しそうなときに、質問や相談できる相手がいる環境で学んでいきたいなと思った
  • ・わかった気になっているだけだったので、自分を追い込む環境に置いた方がいいと感じた
  • ・スクールのカリキュラムで市場に求められるスキルを学ぶべきと思った

少しでも当てはまる部分があれば、 スクールが向いているかもしれません。
お試しのつもりで、まずは一度 無料相談 に参加してみませんか?

現役エンジニア・デザイナーに何でも気軽に相談できる30分すべて無料で できます。
無理な勧誘は一切ない ので、お気軽にご参加ください。

今なら相談した方限定の割引・参加特典付き! 無料相談はこちら

まとめ

以上、CSSで書くbox-sizingの使い方について解説しました。

content-boxとborder-boxを使い分け、詳細なHTML要素の表示領域(ボックス)を設定できることを理解しておきましょう。

ぜひスマホとPCで共有する画面を作るときの参考にしてみてください。

 

執筆してくれたメンター

メンターSS

文系・未経験でIT企業に就職して、9年目。

環境構築から開発・設計・テストまで何でも屋さんをやっていました。

テックアカデミーではJavaコースを担当しています。

 

田島悠介

今回は、box-sizingのふたつの値を比較してみたよ。

大石ゆかり

content-boxは普段の状態、ボックスが大きくなっちゃうやつですね。

田島悠介

そうだね。そこで値をborder-boxにすることで領域内でpaddingやborderを設定することができるようになるんだ。

大石ゆかり

これで領域の設定がやりやすくなりそうですね。ありがとうございました!

 

[お知らせ]TechAcademyでは初心者でもオリジナルWebサイトを公開できるWebデザインオンラインブートキャンプを開催しています。

初心者・未経験でもできる。まずはテックアカデミーに相談しよう

プログラミングを独学していて、このように感じた経験はないでしょうか?

  • ・調べてもほしい情報が見つからない
  • ・独学のスキルが実際の業務で通用するのか不安
  • ・目標への学習プランがわからず、迷子になりそう

テックアカデミーでは、このような 学習に不安を抱えている方へ、現役エンジニア講師とマンツーマンで相談できる機会を無料で提供 しています。
30分間、オンラインでどんなことでも質問し放題です。

「受けてよかった」と感じていただけるよう 厳しい試験を通過した講師 があなたの相談に真摯に向き合います。

「ただ気になることを相談したい」
「漠然としているがプロの話を聞いてみたい」

こんな気持ちでも大丈夫です。

無理な勧誘は一切ありません ので、まずはお気軽にご参加ください。
※体験用のカリキュラムも無料で配布いたします。(1週間限定)

今なら参加者限定の割引特典付き! 無料相談を予約する