我在最新版本的 Chrome (25.0.1364.97 m) 中遇到了一个奇怪的问题。我在一个浮动的、已清除的容器内有一组 div,它们都以相同的宽度向左浮动。
在 Firefox、IE 和旧版本的 Chrome 中,所有框并排放置,但在最新版本的 Chrome 中,第一个 div 位于其他 div 之上,如下所示:
它似乎只在窗口最大化和第一次加载时发生,如果我刷新页面它会自行排序,但如果我使用 Ctrl + F5 进行硬刷新,它会再次发生
的HTML:
<div id="top">
<h1>Words</h1>
</div>
<div id="wrapper">
<div class="box">Words</div>
<div class="box">Words</div>
<div class="box">Words</div>
<div class="box">Words</div>
</div>
CSS:
#wrapper {clear:both;float:left;margin-top:20px;width:500px}
.box {float:left;width:100px;border:1px solid #000;margin-right:20px}
我在这里做了一个小提琴:http: //jsfiddle.net/GZHWR/3/
这是最新 Chrome 中的错误吗?
编辑:我知道这可以通过将填充应用于#wrapper 元素而不是 margin-top 来解决,但我们管理着大约 140 个站点,因此去更改每个站点的 CSS 是不切实际的
编辑2:我想我需要澄清我的问题。我不是在问如何解决这个问题。我已经知道了。我想知道为什么会发生这种行为?为什么渲染引擎会这样渲染标记/css?这是正确的行为吗?