我已经苦思冥想了大约一个小时,我已经将问题提炼成我能想到的最简单的例子来说明问题。
CSS/HTML
<style>
#T div { float: left; }
._b { clear: left; }
</style>
<div id='T'>
<div class='_a'>*</div>
<div class='_b'>*</div>
<div class='_c'>*</div>
<div class='_d'>*</div>
</div>
IE7
***
*
FF、Chrome、歌剧
*
***
FF/Chrome/Opera 中的结果是我所期望的。没有添加更多的标记来解决这个问题,我完全不知道如何让它在 IE 中正常工作。
当你说,3 个都排在自己的一行,然后 3 个本应在同一行时,它会变得非常丑陋 - 额外的 2 个最终排在第一行。
我真的希望有人知道解决这个问题的方法。
设置 float div 的宽度没有帮助,父元素也没有宽度,因为这是一个简单的示例。想象一下,每一行可以有 1-5 个元素,然后您就可以看到问题所在。
最佳答案
This似乎是对 IE float 怪癖的深入评估。检查一下,也许它会有所帮助 ;)
关于css - float 在 IE 中无法正确清除 - 如何修复?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2745917/