一般に、clear: はどちらも float をクリアするために使用されますが、多くの人々は、float をクリアするために overflow: hidden を使用することがわかりました。なぜそれがフロートをクリアできるのでしょうか? (解決策)
それは、(visible) に加えて、オーバーフローはその内部の要素のブロック書式設定コンテキストを再確立するためです。Float、position ABS、Inline-block、table-cell、および table-caption はブロックレベルのスタイルではありません。フローティング オーバーフローを制御するには、クリアを使用します。これは、親要素にオーバーフローが設定されている場合、それが自動、非表示、または新しいブロック レベルでのみ行われるためです。 format はその子要素に対しても作成されるため、フローティングのクリアについてはここで確認できます。clear は古いメソッドですが、状況によってはオーバーフローよりも適切に処理できる場合もあります。
<div style="overflow:hidden"> <div style="float:left"></div></div>
<div > <div style="float:left"></div> <div style="style="clear:both""></div></div>
は、オーバーフローにより、(目に見える) float、position ABS、inline-block、table-cell、table-caption が Block ではないことを除いて、その中の要素のブロック フォーマット (ブロック フォーマット コンテキスト) が再確立されるためです。 -level スタイルなので、フローティング オーバーフローを制御するためにクリアが使用されます。表示に加えて親要素にオーバーフローが設定されている場合、自動、非表示、またはスクロールのみがある場合、新しいブロック レベルの形式が適用されるため、フローティングもクリアできます。その子要素も作成されるため、明確なフローティング効果が得られます。具体的な情報はここで確認できます。ただし、場合によっては、オーバーフローよりも適切に処理できる場合もあります。本当に家族全員とセックスしたい!
<div style="overflow:hidden"> <div style="float:left"></div></div>
<div > <div style="float:left"></div> <div style="style="clear:both""></div></div>