display: inline-block
は多くの clearfix で使用されています ( 1、2 ) が、これらの記事のどれも、それが要素をそれ自体の後に明確にする理由を説明していません。なぜそうなのですか?
私は仕様に目を通しましたが、その問題に関する決定的な説明は見つかりませんでした。
この例は、問題の動作を示しています (IE9、および Chrome と Firefox の最新バージョンで一貫しています)。
<div style="display: inline-block;">
<div class="float"></div>
<div class="float"></div>
<div class="float"></div>
</div>
<hr/>
<div>
<div class="float"></div>
<div class="float"></div>
<div class="float"></div>
</div>