検索

CSSボックスモデルとは何ですか

Apr 02, 2021 pm 05:26 PM
cssボックスモデル

CSS3 ボックス モデルは、CSS テクノロジで使用される思考モデルであり、Web ページ ドキュメント内の各要素が長方形のボックスとして表示され、要素が占めるスペースの内容を説明することを意味します。 CSS には、W3C ボックス モデル (標準ボックス モデル) と IE ボックス モデル (奇妙なボックス モデル) の 2 つのボックス モデルがあります。

CSSボックスモデルとは何ですか

このチュートリアルの動作環境: Windows 7 システム、CSS3&&HTML5 バージョン、Dell G3 コンピューター。

1. CSS ボックス モデルとは

CSS3 ボックス モデルは、CSS テクノロジーで使用される思考モデルであり、コンテンツを参照します。 Web ページ ドキュメントの各要素は長方形のボックスとして表示され、要素が占めるスペースの内容が説明されます。

ボックスモデルはその名の通りボックスです。生活の中の箱には縦、横、高さがあり、箱自体にも厚みがあり、物を入れるのに使えます。ページ上の箱モデルは箱を上から見た平面図として理解できます、箱の中のものは箱モデルの中身と等価であり、物と箱との間の隙間は箱の内側の端として理解されます。ボックス モデル パディング、ボックス自体の厚さはボックス モデルの境界、ボックスの外側と他のボックスの間の距離はボックスのマージンです。

要素の外側のマージン(margin)、ボーダー(border)、内側のマージン(padding)、コンテンツ(content)でCSSボックスモデルを構成します。

CSSボックスモデルとは何ですか

#図 1. ボックス モデルの概略図

#2、IE ボックス モデルおよび W3C ボックス モデル

CSS ボックス モデルは、IE ボックス モデル (図 2) と W3C ボックス モデル (図 3) に分かれています。実際、IE ボックス モデルは Quirks モードのボックス モデルであるのに対し、W3C ボックス モデルは標準モードのボックス モデルです。

IE6 以降のバージョンと現在のすべての標準ブラウザは W3C ボックス モデルに従い、IE6 より前のブラウザは IE ボックス モデルに従います。

CSSボックスモデルとは何ですか

図 2. IE ボックス モデル

CSSボックスモデルとは何ですか

図 3. W3C ボックス モデル

上からこの図から、IE ボックス モデルの幅または高さは、幅/高さ = コンテンツのパディング境界として計算され、W3C ボックス モデルの幅または高さは、幅/高さ = コンテンツとして計算されることが直感的にわかります。

簡単な例を示します。div の幅と高さは 100 ピクセル、内側のマージンは 10 ピクセル、境界線は 5 ピクセル、外側のマージンは 30 ピクセルです。図 4 は、さまざまなモデルで表示された結果を示しています。W3C ボックス モデルで表示された div の合計幅と合計高さ (マージン、境界線、内部マージン、およびコンテンツを含む) は 100 10 5 30 = 145px です。IE ボックス モデルでは、div の合計幅と合計高さは 145px です。表示される div の幅と高さの合計 (マージン、境界線、パディング、コンテンツを含む) は 100 30 = 130px です。明らかな違いは、要素の幅 (width) が確定している場合、W3C ボックス モデルの幅 (width) にはパディングとボーダーが含まれないのに対し、IE ボックス モデルには含まれることです。

コードは次のとおりです:

<style>
  .content {background: #eee; height: auto;border: 1px solid blue;}
  .div {width: 100px;height: 100px;margin: 30px;padding: 10px;border: 5px solid blue;}
  .div-01 {background: orange;}
  .div-02 {background: yellow;box-sizing: border-box;}
</style>
<div>
  <div>div01</div>
  <div>div02</div>
</div>
ページの効果は次のとおりです:


CSSボックスモデルとは何ですか

図 4. 違い

3. CSS3 属性 box-sizing

ボックスの長さ、幅、高さを計算する場合、通常はボックスの厚さを計算します。 IE ボックス モデルと W3C ボックス モデルのボックス内のスペースのサイズを足したものでは、IE ボックス モデルの方が論理的であると感じられます。 (学習ビデオ共有:

css ビデオ チュートリアル)

人によって習慣が異なるため、CSS3 では新しい属性 box-sizing を追加します: content-box | border-box |inherit、デフォルト値コンテンツボックスです。値が content-box の場合、要素は W3C ボックス モデルに従います。値が border-box の場合、要素は IE ボックス モデルに従います。値が継承の場合、この属性の値は親要素から継承される必要があります。 。

4. ボックス モデルの使用について

私と同じように、box-sizing 属性が本当に良いことだと思っている人はいますか? ? 自分の習慣に合わせて、すべての要素のこの属性を content-box または border-box に設定します。

CSSボックスモデルとは何ですか

虽说现在的浏览器都兼容该属性(如上图),还是得以防万一,在属性前最好暂时加-webkit-和-moz-前缀。

* {
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
}

    在上图,我们看到IE兼容属性box-sizing必须是8或者更高的版本,其他浏览器都可以自动升级,兼容性不担心,那如果是IE7、IE6或者更低的版本,怎么办?还有,如果我们不用该属性,那浏览器该选择哪种盒模型呢?

    其实,浏览器选择哪个盒模型,主要看浏览器处于标准模式(Standards Mode)还是怪异模式(Quirks Mode)。我们都记得声明吧,这是告诉浏览器选择哪个版本的HTML,后面一般有DTD的声明,如果有DTD的声明,浏览器就是处于标准模式;如果没有DTD声明或者HTML4一下的DTD声明,那浏览器按照自己的方式解析代码,处于怪异模式。

    处于标准模式的浏览器(IE浏览器版本必须是6或者6以上),会选择W3C盒模型解析代码;处于怪异模式的浏览器,则会按照自己的方式去解析代码,IE6以下则会是选择IE盒模型,其他现代的浏览器都是采用W3C盒模型。

    因为IE6以下版本的浏览器没有遵循Web标准,不论页面开头有没有DTD声明,它都是按照IE盒模型解析代码的。

更多编程相关知识,请访问:编程视频!!

以上がCSSボックスモデルとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
CSS:IDセレクターを使用するのは悪いですか?CSS:IDセレクターを使用するのは悪いですか?May 13, 2025 am 12:14 AM

IDセレクターを使用することは、CSSでは本質的に悪くはありませんが、注意して使用する必要があります。 1)IDセレクターは、一意の要素またはJavaScriptフックに適しています。 2)一般的なスタイルの場合、クラスセレクターはより柔軟で保守可能であるため、使用する必要があります。 IDとクラスの使用のバランスをとることにより、より堅牢で効率的なCSSアーキテクチャを実装できます。

HTML5:2024年の目標HTML5:2024年の目標May 13, 2025 am 12:13 AM

HTML5'SGOALSIN2024FOCUSONREFINIMINGANDOPTIMIZATION、notnewfeatures.1)強化された拡張性と拡張効率化されたレンダリング.2)

HTML5が改善しようとした主な領域は何ですか?HTML5が改善しようとした主な領域は何ですか?May 13, 2025 am 12:12 AM

html5aimed toemprovewebdevelymentinfourkeyareas:1)multimediasupport、2)セマンティクス構造、3)フォームキャピリティ、および4)offlineandstorageoptions.1)html5introduededelements、simplifiedediaembedingemencemanteddim.2)

CSS IDおよびクラス:一般的な間違いCSS IDおよびクラス:一般的な間違いMay 13, 2025 am 12:11 AM

idsは、Javascripthooksを使用しているので、whileclasseSarebetterforstyling.1)useclassess forStylingtoEriousEREUSERESERESERESPICITYISSUES.2)USEIDSSFORIDSSSCRIPTHOOKSTOUNIQUELYIEDIENEMENTS.3)3)回避策を避けてください

クラスセレクターとIDセレクターの間の差別化とは何ですか?クラスセレクターとIDセレクターの間の差別化とは何ですか?May 12, 2025 am 12:13 AM

classSelectorEctorSareverSatileAndReusable、whiledseLectorSareUniqueandspecific.1)useclassselectors(notedby。)forstylingMultipleElementswithsharedCharacteristics.2)useidselectors(notedby#)forstylinguniqueeletementonapage.classselectorectorotorsoffermoreflexibili

CSS IDS対クラス:実際の違いCSS IDS対クラス:実際の違いMay 12, 2025 am 12:10 AM

idsareuniqueIdentifiersforsingleelements、whileclassesstylemultipleements.1)useidsforuniqueelementsandjavascripthooks.2)useclasses forReusable、flexiblestylingacrossmultipletements。

CSS:クラスだけを使用した場合はどうなりますか?CSS:クラスだけを使用した場合はどうなりますか?May 12, 2025 am 12:09 AM

クラスのみのセレクターを使用すると、コードの再利用性と保守性が向上しますが、クラス名と優先順位の管理が必要です。 1.再利用性と柔軟性を向上させる、2。複数のクラスを組み合わせて複雑なスタイルを作成する3。長いクラス名と優先順位につながる可能性があります。4。パフォーマンスへの影響は小さい、5。簡潔な命名や使用規則などのベストプラクティスに従ってください。

CSSのIDおよびクラスセレクター:初心者向けガイドCSSのIDおよびクラスセレクター:初心者向けガイドMay 12, 2025 am 12:06 AM

IDおよびクラスセレクターは、それぞれ一意でマルチエレメントスタイルの設定にCSSで使用されます。 1. IDセレクター(#)は、特定のナビゲーションメニューなどの単一の要素に適しています。 2.クラスセレクター(。)は、統一ボタンスタイルなどの複数の要素に使用されます。 IDは注意して使用し、過度の特異性を避け、スタイルの再利用性と柔軟性を向上させるためにクラスに優先順位を付ける必要があります。

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衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

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 プラットフォームで実行できます。