【发布时间】:2022-01-26 05:24:34
【问题描述】:
假设我们有 9 个 div 显示为 float:left,每个 350px 宽,高度分别为 200、400、300、350、300、200、450、100 和 400。窗口只能容纳 4 个他们连续。我观察到的是第一个 4 格按预期显示,但第 5 个格(换行后)从 div3 下的 x=700 开始。我们不能确定在哪个 div 之后会有一个换行,但无论何时发生,我们都希望它从 0 开始,即 div 5 应该出现在 div1 之下,依此类推,例如,期望 div9 在 div5 之下。我们怎样才能做到这一点?谢谢。
<html>
<body style="padding:20px;">
<div style="float:left; width:350; height:200 border:3px solid #cacafe">div 1 <br/> div 1 <br/> div 1 <br/> div 1 <br/></div>
<div style="float:left; width:350; height:400 border:3px solid #cacafe">div 2 <br/> div 2 <br/> div 2 <br/> div 2 <br/> div 2 <br/> div 2 <br/> div 2 <br/> div 2 <br/></div>
<div style="float:left; width:350; height:300 border:3px solid #cacafe">div 3 <br/> div 3 <br/> div 3 <br/> div 3 <br/> div 3 <br/> div 3 <br/></div>
<div style="float:left; width:350; height:350 border:3px solid #cacafe">div 4 <br/> div 4 <br/> div 4 <br/> div 4 <br/> div 4 <br/> div 4 <br/> div 4 <br/></div>
<div style="float:left; width:350; height:300 border:3px solid #cacafe">div 5 <br/> div 5 <br/> div 5 <br/> div 5 <br/> div 5 <br/> div 5 <br/> </div>
<div style="float:left; width:350; height:200 border:3px solid #cacafe">div 6 <br/> div 6 <br/> div 6 <br/> div 6 <br/></div>
<div style="float:left; width:350; height:450 border:3px solid #cacafe">div 7 <br/> div 7 <br/> div 7 <br/> div 7 <br/> div 7 <br/> div 7 <br/> div 7 <br/> div 7 <br/> div 7 <br/></div>
<div style="float:left; width:350; height:100 border:3px solid #cacafe">div 8 <br/> div 8 <br/></div>
<div style="float:left; width:350; height:400 border:3px solid #cacafe">div 9 <br/> div 9 <br/> div 9 <br/> div 9 <br/> div 9 <br/> div 9 <br/> div 9 <br/> div 9 <br/></div>
</body>
【问题讨论】:
-
你看过 CSS 网格或 flexbox 吗?
-
不,我没有。能给我指点一下吗?
-
clearfix 有帮助吗?
-
我认为你最好使用百分比而不是 'px' 作为 div 宽度。
标签: css