Html 在Firefox中,div不会一直向左浮动

Html 在Firefox中,div不会一直向左浮动,html,css,Html,Css,我有以下代码: <div style="width:560px"> <div style="float: left; width: 50%; margin-bottom: 20px"> <div style="float: left; width: 40%"> <!-- Thumbnail --> </div> <div style="float: l

我有以下代码:

<div style="width:560px">
    <div style="float: left; width: 50%; margin-bottom: 20px">
        <div style="float: left; width: 40%">
            <!-- Thumbnail -->
        </div>
        <div style="float: left; width: 60%">
            <!-- Title -->
            <!-- Author -->
            <!-- Price -->
            <!-- Quantity -->
            <!-- Add to Cart -->
        </div>
    </div>
</div>
这就是它在Chrome中的外观:

但这是Firefox中的外观:

如何让Firefox像Chrome一样显示?

编辑:睡前阅读:

这是由于Firefox中第一个元素的高度推动了第三个元素,而Chrome中没有。为什么会这样,我不知道。当不使用固定高度时,这是一个常见的问题,在我看来,这也是一个很好的做法,也要避免,因为你永远无法真正知道什么东西会有多高

我可以建议对布局做一点变通吗。它稍微手动一些,但可以确保像行一样的布局。通过简单地添加一个row div,它将允许您确保一行中至少有两个项目,如下所示

<div id="container">
    <div class="row">
        <div class="item">Item 1...</div>
        <div class="item">Item 2...</div>
    </div>
    <div class="row">
        <div class="item">Item 3...</div>
        <div class="item">Item 4...</div>
    </div>
    <div class="row">
        <div class="item">Item 5...</div>
        <div class="item">Item 6...</div>
    </div>
</div>
为了推动新行开始,您需要在row类上清除这两个选项

优点:

一行中始终有两个项目 项目将始终从顶部开始 缺点

将其更改为每行x个项目需要更改HTML 编辑:睡前阅读:

这是由于Firefox中第一个元素的高度推动了第三个元素,而Chrome中没有。为什么会这样,我不知道。当不使用固定高度时,这是一个常见的问题,在我看来,这也是一个很好的做法,也要避免,因为你永远无法真正知道什么东西会有多高

我可以建议对布局做一点变通吗。它稍微手动一些,但可以确保像行一样的布局。通过简单地添加一个row div,它将允许您确保一行中至少有两个项目,如下所示

<div id="container">
    <div class="row">
        <div class="item">Item 1...</div>
        <div class="item">Item 2...</div>
    </div>
    <div class="row">
        <div class="item">Item 3...</div>
        <div class="item">Item 4...</div>
    </div>
    <div class="row">
        <div class="item">Item 5...</div>
        <div class="item">Item 6...</div>
    </div>
</div>
为了推动新行开始,您需要在row类上清除这两个选项

优点:

一行中始终有两个项目 项目将始终从顶部开始 缺点

将其更改为每行x个项目需要更改HTML
您应该始终使用CSS重置。这有助于完全避免这些问题。我个人使用的是这个:

干杯,
Robin

您应该始终使用CSS重置。这有助于完全避免这些问题。我个人使用的是这个:

干杯,
罗宾

只要增加高度就行了……现在认真点。。。上传JSFIDLE。@RoyiNamir以前从未使用过。我想我遗漏了什么?你的问题与元素的高度和/或底部边距/-填充有关…好的:jsfiddle.net/-是一种将一些示例html+js保存到web上的方法-这样其他用户可以修复它并给你一个新链接。玩得高兴如果你不了解这件事,请随时问我。。。。p、 还有jsbin.com。我更喜欢it@RoyiNamir看起来很酷!谢谢下一次我会做一些犹豫不决的事只是增加高度…现在认真点。。。上传JSFIDLE。@RoyiNamir以前从未使用过。我想我遗漏了什么?你的问题与元素的高度和/或底部边距/-填充有关…好的:jsfiddle.net/-是一种将一些示例html+js保存到web上的方法-这样其他用户可以修复它并给你一个新链接。玩得高兴如果你不了解这件事,请随时问我。。。。p、 还有jsbin.com。我更喜欢it@RoyiNamir看起来很酷!谢谢下一次我会做一些犹豫不决的事