css - float 在 IE 中无法正确清除 - 如何修复?

标签 css

我已经苦思冥想了大约一个小时,我已经将问题提炼成我能想到的最简单的例子来说明问题。

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/

相关文章:

html - 导航菜单中的居中对齐文本

jquery - 如何滚动 jQuery ui 选项卡?

css - Bootstrap Accordion 显示最初在 React 应用程序中打开的所有元素,应关闭

html - 我不明白 CSS 中的绝对和相对定位

html - 按钮在移动设备上不起作用

css - 歌剧中的自定义字体问题

javascript - Div 在 IE 上不翻转

javascript - 用javascript,Html5中的水平线替换Button

javascript - 我的 div 的高度只有 0px

css - 手写笔 @font-face url 编译不正确