検索
ホームページウェブフロントエンドCSSチュートリアル完璧な Web サイトレイアウトのための CSS ボックス モデルをマスターする方法 ( Codepen の例)

How to Master the CSS Box Model for Perfect Website Layouts (  Codepen examples)

やあ、すごい人たちですね!私のブログへようこそ。 ?今日は、CSS ボックス モデルを深く掘り下げ、各要素のサイズがどのように決定されるか、そしてこの知識を使用して正確でモダンでクリーンなデザインを作成する方法を説明します (実際の例はこの記事の最後にあります)。

ボックスモデルの紹介

CSS ボックス モデルは Web デザインの基礎であり、Web ページ内の各 HTML 要素がどのようにスペースを占めるかを決定します。

ボックスモデルコンポーネントの詳細な内訳

  1. コンテンツ : これはボックスの実際のコンテンツであり、テキスト、画像、その他の要素が配置されます。そのサイズは幅と高さのプロパティによって定義されます。

  2. パディング : これは、境界線内のコンテンツの周囲のスペースです。別途スタイルを設定しない限り、パディングは透明です。

  3. Border : パディングとコンテンツを囲みます。幅、スタイル (実線、破線など)、色を指定してスタイルを設定できます。

  4. マージン : これは境界線の外側のスペースです。また、透明であり、要素間の間隔に影響します

実際のボックス モデル:

.example {
    width: 200px; /* Content width */
    height: 100px;
    padding: 10px; /* Adds 20px to both width and height */
    border: 5px solid #000; /* Adds 10px to both width and height */
    margin: 20px; /* Does not contribute to the element's dimensions but affects layout */
}

  • 合計幅の計算 : 200px (コンテンツ) 20px (パディング) 10px (ボーダー) = 230px

  • 総高さの計算 : 100px 20px 10px = 130px

よくある誤解

  • 幅/高さはコンテンツにのみ影響します : 幅または高さの設定によって合計サイズが定義されると多くの人が想定していますが、それはコンテンツ領域のみです。

  • ボックス サイズ : box-sizing: border-box を使用しない場合、パディングまたはボーダーを追加すると、設定された幅/高さを超えて要素が増加します。

ボックス モデルの視覚化: 上記の寸法のボックスがあると想像してください。視覚的な内訳は次のとおりです:

.box {
    background-color: #f0f0f0;
    width: 300px;
    height: 150px;
    padding: 20px;
    border: 10px solid #000;
    margin: 30px;
}
  • コンテンツエリア : 300x150px (グレーのエリア)

  • パディング : 周囲に 20 ピクセルを追加し、サイズを 340x190 ピクセルに増加します

  • ボーダー : パディングを囲み、最終的なボックス サイズを 360x210px

  • にします。
  • Margin : 境界線の周囲にスペースを作成しますが、要素の寸法には直接カウントされません。

高度なボックスモデルテクニック

Box-Sizing プロパティ : box-sizing: border-box を使用すると、指定された幅/高さにパディングとボーダーが含まれ、デザインが合理化されます:

* { box-sizing: border-box;}

この宣言はすべての要素に適用され、サイズの計算がより直感的に行われます。

  • パーセンテージ値 : パディングまたはマージンとともに使用すると、パーセンテージは、含まれる要素の幅を基準にして計算されます。

  • 自動マージン : マージンの設定: 要素を水平方向 (フレックスボックスを使用している場合は垂直方向) に自動で中央揃えできます。

ボックスのモデルとレイアウトに関する考慮事項

  • フロート : フロートを含む要素は、マージンが崩れたり重なったりする予期しない動作を引き起こす可能性があります。

  • フレックスボックスとグリッド : これらの最新のレイアウト方法では、マージンの処理方法が異なります。たとえば、フレックス コンテナーやグリッド セルでは、ブロック レベルの要素のようにマージンが折りたたまれません。

  • 重複する要素 : Z インデックスと位置を理解すると、要素が重複する場合の深さを管理するのに役立ちます。

ボックス モデルを効果的に使用するためのヒント

  • 一貫性を考慮した設計 : サイズ計算エラーを避けるために、プロジェクト全体で一貫したボックス サイズを使用します。

  • レスポンシブ デザイン : パディングとマージンがどのように拡大縮小されるかを思い出してください。パディングのパーセンテージ値は、さまざまな画面サイズ間で比率を維持するのに役立ちます。

  • デバッグ : 要素が予想より大きくまたは小さく見える場合は、パディング、境界線、マージンの設定を確認してください。

  • アウトラインの使用 : 境界線とは異なり、アウトラインは要素の寸法に影響を与えないため、特定の UI デザインで役立ちます。

現実世界のアプリケーション

1.レスポンシブカードレイアウト / Codepen でコードを確認してください。

説明:

  • Box-Sizing : ボックスのサイズ設定: border-box;パディングによって幅と高さの合計が増加しないようにすることで、レスポンシブ デザインが簡素化されます。

  • カード レイアウト : .card クラスは、固定幅、丸い角、および深さの影を持つコンテナを定義します。

  • カード画像 : 高さによって設定された寸法を持つ画像のプレースホルダーとして機能します。

  • カード コンテンツ : ここでは、境界線からコンテンツの間隔を空けるためにパディングが使用されます。ここでは、ボックス モデルが実際に動作している様子を確認できます。パディングによりカード内のクリック可能な領域が増加しますが、カードの宣言された幅は増加しません。

  • Margin : カード内の要素の間隔を空けるために、.card-title と .card-text で微妙に使用されます。

  • ボタン : CSS 遷移を示すホバー効果を備えた、典型的な CTA のように見えるスタイルです。

2.簡単なブログ投稿リスト / Codepen でコードを確認してください。

この例について説明が必要な場合はお知らせください。コメントでご協力いただけると幸いです!

結論

CSS ボックス モデルは、理論的には単純ですが、Web レイアウトのデザインとデバッグの方法に影響を与える複雑な層を持っています。この概念を理解して習得することで、クリーンで予測可能でレスポンシブなデザインを作成するための準備が整います。


?こんにちは、私はエレフテリアです。コミュニティ マネージャー開発者、講演者、コンテンツ作成者

です。

?この記事が気に入ったら、共有することを検討してください。

? すべてのリンク | X | LinkedIn

以上が完璧な Web サイトレイアウトのための CSS ボックス モデルをマスターする方法 ( Codepen の例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
「CSS4」アップデート「CSS4」アップデートApr 11, 2025 pm 12:05 PM

私が最初にCSS4¹のことを鳴らしたので、それについてもっと多くの議論がありました。私はここで他の人から私のお気に入りの考えをまとめようとしています。がある

3種類のコード3種類のコードApr 11, 2025 pm 12:02 PM

新しいプロジェクトを開始するたびに、3つのタイプ、または必要に応じてカテゴリを検討しているコードを整理します。そして、これらのタイプは適用できると思います

HTTPSは簡単です!HTTPSは簡単です!Apr 11, 2025 am 11:51 AM

私は、httpsの複雑さを公に嘆きながら罪を犯しました。過去に、私はサードパーティのベンダーからSSL証明書を購入し、問題がありました

HTMLデータ属性ガイドHTMLデータ属性ガイドApr 11, 2025 am 11:50 AM

HTML、CSS、およびJavaScriptのデータ属性について知りたいと思っていたことはすべて。

JavaScriptの不変性を理解するJavaScriptの不変性を理解するApr 11, 2025 am 11:47 AM

JavaScriptの不変性を以前に作業したことがない場合は、変数を新しい値または再割り当てに割り当てることと混同しやすいことがわかります。

最新のCSS機能を備えたカスタムスタイリングフォーム入力最新のCSS機能を備えたカスタムスタイリングフォーム入力Apr 11, 2025 am 11:45 AM

最近、カスタムチェックボックス、ラジオボタン、トグルスイッチを構築することは完全に可能です。必要でさえありません

脚注文字脚注文字Apr 11, 2025 am 11:34 AM

脚注に最適な特別なスーパーセット番号の文字があります。ここにあります:

HTML、CSS、JavaScriptを使用してアニメーションカウントダウンタイマーを作成する方法HTML、CSS、JavaScriptを使用してアニメーションカウントダウンタイマーを作成する方法Apr 11, 2025 am 11:29 AM

プロジェクトにカウントダウンタイマーが必要だったことはありますか?そのようなことのために、プラグインに手を伸ばすのは自然なことかもしれませんが、実際にはもっとたくさんあります

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境