CSSでのボックスサイジングの簡単な説明(標準ボックスモデルと奇妙なボックスモデル)_html/css_WEB-ITnose
今日、レイアウトを行うプログラムを書いているときに、CSS のボックス モデルに関する問題に遭遇しました。私は頭が悪く、文章がわかりにくいです。どうすればいいでしょうか? それで、自分でプログラムのテストを書いたのですが、その効果を見て、私は突然理解しました。以下に簡単に説明しますが、表面的かもしれません。しかし、フロントエンドの友人たちの助けになれば幸いです。
まず、box-sizing の値について説明します。box-sizing には、inheirt、content-box (標準ボックス モデル)、border-box (非標準ブラウザの奇妙なボックス モデル) の 3 つのオプションの値があります。 ie6) );
まず最初の値 content-box について説明します。これは box-sizing のデフォルト値です。これは、要素が実際に占めるスペースの幅 = 設定した幅 (幅) + 境界線 + 内部のスペースを意味します。 div の幅を 100px に設定すると、この div の境界線と間隔を設定すると、境界線と間隔が外側に広がります。実際の div の実際の幅は 100px より大きくなります。上記のコードと図は一目瞭然です。
まず、幅と高さが 100px の div を定義し、box-sizing を content-box に設定し、背景を赤に設定します。強調表示するには、青い背景に配置します。
<div id="bx1" style="width:300px;height:300px;background:blue;"> <div id="bx2" style="width:100px;height:100px;background:red;margin:0px auto;box-sizing:content-box;"></div></div>
次のように表示されます:
比較しやすいように、新しい div を追加します。前の div との唯一の違いは、黄色の 10 ピクセルを追加したことです。 Border;
<div id="bx1" style="width:300px;height:300px;background:blue;"> <div id="bx2" style="width:100px;height:100px;background:red;margin:0px auto;box-sizing:content-box;"></div> <div id="bx3" style="width:100px;height:100px;background:red;margin:10px auto; box-sizing:content-box;border:10px solid yellow"></div></div>
結果は図に示すように、境界線が div の外側に拡張されます。
新しく追加した div に 10 ピクセルのパディングを追加します。 図に示すように、パディングも外側に拡張されます。 なぜ「hello」の位置に注目してください。 」。
#bx3{padding:10px;}
さて、1 つの属性についての話は終わったので、もう 1 つの属性であるボーダーボックスの話から始めましょう。元の div のボックス サイズをボーダー ボックスに変更します。
ボーダーボックスが内側に拡張されます。 box-sizing を border-box に設定すると、要素が実際に占めるスペースの幅は、border と spacing を設定した場合、内側に拡張されます。元の例をもう一度見てみましょう。 (強迫性障害患者であること、そして私はまだ完璧を追求していることをお許しください)
<div id="bx1" style="width:300px;height:300px;background:blue;"> <div id="bx2" style="width:100px;height:100px;background:red;margin:0px auto;color:white;box-sizing:border-box;">hello</div></div>
境界線と間隔のない最初の画像:
これで、比較のために新しい div が追加されました。元の div との唯一の違いです。幅が 10 ピクセルの黄色の境界線がさらにあるということです
<div id="bx1" style="width:300px;height:300px;background:blue;"> <div id="bx2" style="width:100px;height:100px;background:red;margin:0px auto;color:white;box-sizing:border-box;">hello</div> <div id="bx3" style="width:100px;height:100px;background:red;margin:0px auto;color:white;box-sizing:border-box;border:10px solid yellow">hello</div></div>
結果は次のようになります: 境界線は内側に拡張します
次に、div に 10 ピクセルの内側マージンを追加します
#bx3{padding:10px;}
結果は次のようになります。内側のマージンが内側に移動して拡張します。「hello」の位置に注意してください。
ここで、皆さんはこれら 2 つの属性について明確にする必要があると思います。
まとめると、box-sizing には context-box、border-box、inherit の 3 つの値があります。Content-box は box-sizing のデフォルト値であり、要素が実際に占めるスペースの幅 = width を意味します。 (幅) + 境界線 + 内側の間隔を設定します。div の幅を設定した後、境界線と間隔を追加し、境界線と間隔を外側に拡張します。 border-box 要素が実際に占めるスペースの幅は、設定した幅と同じになります。ボーダーとスペースが設定されている場合、ボーダーとスペースは内側に広がります。継承属性に関しては、それが持つ属性をすべて継承することを誰もが知っているはずです。ほんの小さなことだったけど、とても長くて、最後に世界の元祖完璧主義者で強迫性障害の患者さんたちに問いかけました。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック

この記事では、HTML&lt; Datalist&GT;について説明します。オートコンプリートの提案を提供し、ユーザーエクスペリエンスの改善、エラーの削減によりフォームを強化する要素。

この記事では、HTML&lt; Progress&gt;について説明します。要素、その目的、スタイリング、および&lt; meter&gt;との違い要素。主な焦点は、&lt; Progress&gt;を使用することです。タスクの完了と&lt; Meter&gt; statiの場合

この記事では、html&lt; meter&gt;について説明します。要素は、範囲内でスカラーまたは分数値を表示するために使用され、Web開発におけるその一般的なアプリケーション。それは差別化&lt; Meter&gt; &lt; Progress&gt;およびex

この記事では、モバイルデバイスのレスポンシブWebデザインに不可欠なViewportメタタグについて説明します。適切な使用により、最適なコンテンツのスケーリングとユーザーの相互作用が保証され、誤用が設計とアクセシビリティの問題につながる可能性があることを説明しています。

この記事では、&lt; iframe&gt;外部コンテンツをWebページ、その一般的な用途、セキュリティリスク、およびオブジェクトタグやAPIなどの代替案に埋め込む際のタグの目的。

この記事では、html5&lt; time&gt;について説明します。セマンティックデート/時刻表現の要素。 人間の読み取り可能なテキストとともに、マシンの読みやすさ(ISO 8601形式)のDateTime属性の重要性を強調し、Accessibilitを増やします

記事では、HTML5クロスブラウザーの互換性を確保するためのベストプラクティスについて説明し、機能検出、プログレッシブエンハンスメント、およびテスト方法に焦点を当てています。

この記事では、ブラウザのユーザー入力を直接検証するために、必要、パターン、MIN、MAX、および長さの制限などのHTML5フォーム検証属性を使用して説明します。
