× Directory [1] float [2] inline-block [3] table [4] flex
前述の通り
均等配分とは、子要素が親要素の幅を均等に配分するレイアウト方法を指します。この記事では、均等配分の 4 つの方法の実装を紹介します
アイデア 1: float
欠点: 構造とスタイルの間にカップリングがあり、IE7 ブラウザーでは幅のパーセント値に丸め誤差があります
【 1】float+padding+background -clip
サブ要素間の間隔を実現するにはpaddingを使用し、サブ要素のpadding部分に背景を表示しないようにするにはbackground-clipを使用します
<style>body,p{margin: 0;}.parentWrap{ overflow: hidden;}.parent{ margin-right: -20px; overflow: hidden;}.child{ float: left; height: 100px; width: 25%; padding-right: 20px; box-sizing: border-box; background-clip: content-box;}</style>
<div class="parentWrap"> <div class="parent" style="background-color: lightgrey;"> <div class="child" style="background-color: lightblue;">1</div> <div class="child" style="background-color: lightgreen;">2</div> <div class="child" style="background-color: lightsalmon;">3</div> <div class="child" style="background-color: pink;">4</div> </div> </div>
【2】float + margin + calc
marginを使って実現 サブ要素間の間隔は、calc()関数を使ってサブ要素の幅を計算
<style>body,p{margin: 0;}.parentWrap{ overflow: hidden;}.parent{ overflow: hidden; margin-right: -20px;}.child{ float: left; height: 100px; width: calc(25% - 20px); margin-right: 20px;}</style>
<div class="parentWrap"> <div class="parent" style="background-color: lightgrey;"> <div class="child" style="background-color: lightblue;">1</div> <div class="child" style="background-color: lightgreen;">2</div> <div class="child" style="background-color: lightsalmon;">3</div> <div class="child" style="background-color: pink;">4</div> </div> </div>
【3】 float + margin + (fix)
互換性を実現するために構造を追加することで、マージンを使用してサブ要素間の間隔を実現します
<style>body,p{margin: 0;}.parentWrap{ overflow: hidden;}.parent{ overflow: hidden; margin-right: -20px;}.child{ float: left; width: 25%;}.in{ margin-right: 20px; height: 100px;}</style>
<div class="parentWrap"> <div class="parent" style="background-color: lightgrey;"> <div class="child" style="background-color: blue;"> <div class="in" style="background-color: lightblue;">1</div> </div> <div class="child" style="background-color: green;"> <div class="in" style="background-color: lightgreen;">2</div> </div> <div class="child" style="background-color: orange;"> <div class="in" style="background-color: lightsalmon;">3</div> </div> <div class="child" style="background-color: red;"> <div class="in" style="background-color: pink;">4</div> </div> </div> </div>
アイデア 2: inline-block
欠点: 垂直整列メソッドvertical-alignを設定する必要があり、改行がスペースに解析されるギャップの問題に対処する必要があります。 IE7 ブラウザでは、ブロックレベル要素の inline-block 属性の設定はサポートされていません。互換性のあるコードは、display:inline;zoom:1;
【1】inline-block +padding +background-clip
<style>body,p{margin: 0;}.parentWrap{ overflow: hidden;}.parent{ font-size: 0; margin-right: -20px; overflow: hidden;}.child{ display:inline-block; vertical-align: top; width: 25%; padding-right: 20px; box-sizing: border-box; background-clip: content-box; font-size: 16px;}</style>
<div class="parentWrap"> <div class="parent" style="background-color: lightgrey;"> <div class="child" style="background-color: lightblue;">1</div> <div class="child" style="background-color: lightgreen;">2</div> <div class="child" style="background-color: lightsalmon;">3</div> <div class="child" style="background-color: pink;">4</div> </div> </div>です。
【2】inline-block + margin + calc
<style>body,p{margin: 0;}.parentWrap{ overflow: hidden;}.parent{ margin-right: -20px; font-size: 0;}.child{ display: inline-block; vertical-align: top; font-size: 16px; height: 100px; width: calc(25% - 20px); margin-right: 20px;}</style>
<div class="parentWrap"> <div class="parent" style="background-color: lightgrey;"> <div class="child" style="background-color: lightblue;">1</div> <div class="child" style="background-color: lightgreen;">2</div> <div class="child" style="background-color: lightsalmon;">3</div> <div class="child" style="background-color: pink;">4</div> </div> </div>
【3】inline-block + margin + (fix)
<style>body,p{margin: 0;}.parentWrap{ overflow: hidden;}.parent{ margin-right: -20px; font-size: 0;}.child{ display: inline-block; vertical-align: top; font-size: 16px; width: 25%;}.in{ margin-right: 20px; height: 100px;}</style>
<div class="parentWrap"> <div class="parent" style="background-color: lightgrey;"> <div class="child" style="background-color: blue;"> <div class="in" style="background-color: lightblue;">1</div> </div> <div class="child" style="background-color: green;"> <div class="in" style="background-color: lightgreen;">2</div> </div> <div class="child" style="background-color: orange;"> <div class="in" style="background-color: lightsalmon;">3</div> </div> <div class="child" style="background-color: red;"> <div class="in" style="background-color: pink;">4</div> </div> </div> </div>
3 つのアイデア: table
欠点: 要素を table に設定すると、コンテンツの幅が広がります。 IE7 ブラウザと互換性を持たせるには、

htmltagsareSterenceforwebdevelovementasyStheStructureanhandhancewebpages.1)theydefineLayout、semantics、and-interactivity.2)semanticagsimprovecessibility.3)opeusofusofagscanoptimizeperformanceandensurecross-brows-compativeation。

コードの読みやすさ、保守性、効率を向上させるため、一貫したHTMLエンコーディングスタイルは重要です。 1)低ケースタグと属性を使用します。2)一貫したインデントを保持し、3)シングルまたはダブルの引用符を選択して固執する、4)プロジェクトのさまざまなスタイルの混合を避け、5)きれいなスタイルやEslintなどの自動化ツールを使用して、スタイルの一貫性を確保します。

Bootstrap4にマルチプロジェクトカルーセルを実装するソリューションBootstrap4にマルチプロジェクトカルーセルを実装するのは簡単な作業ではありません。ブートストラップですが...

マウススクロールイベントの浸透の効果を実現する方法は? Webを閲覧すると、いくつかの特別なインタラクションデザインに遭遇することがよくあります。たとえば、DeepSeekの公式ウェブサイトでは、...

HTMLビデオのデフォルトの再生コントロールスタイルは、CSSを介して直接変更することはできません。 1. JavaScriptを使用してカスタムコントロールを作成します。 2。CSSを介してこれらのコントロールを美化します。 3. video.jsやPLYRなどのライブラリを使用すると、互換性、ユーザーエクスペリエンス、パフォーマンスを検討してください。プロセスを簡素化できます。

携帯電話でネイティブセレクトを使用する際の潜在的な問題は、モバイルアプリケーションを開発するときに、ボックスを選択する必要があることがよくあります。通常、開発者...

お使いの携帯電話でネイティブ選択を使用することの欠点は何ですか?モバイルデバイスでアプリケーションを開発する場合、適切なUIコンポーネントを選択することが非常に重要です。多くの開発者...

Three.JSとOctreeを使用して、部屋でのサードパーソンローミングの衝突処理を最適化します。 3つのjsでoctreeを使用して、部屋でサードパーソンローミングを実装し、衝突を追加してください...


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

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

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

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

ホットトピック









