如何使元素再次漂浮到左边?

时间:2011-08-08 16:15:02

标签: html css css-float

我认为这已被问了一百万次,但对问题的定义不同。它可能要么很容易修复,要么是网页设计师的长期愿望,但仍然没有答案。 注意:我做了在堆栈上的css float上搜索,但是虽然有些看起来像我的问题,到目前为止我还没有找到类似的问题。

如果你看到附件,我想要做的就会变得清晰。我希望它们排成3行,整齐地堆叠在一起,每个<li>项的高度不同。换句话说:一行中最高的<li>元素是前导,下一行项目应该包含在这一行中。现在,新行上的项目会在开头碰到更长列表项的内容,从而阻止新行的第一项完全浮动到左侧。

请注意我不想用php或js解决这个问题,我认为一个纯粹的css解决方案必须在那里...因为有了php,我当然可以添加类似“new-row”的类它并对它应用clear: both并将它包装。如果我想在CSS中做同样的事情,那么我不能没有使用支持不足的:nth-of-type的东西。此外,内容块的宽度可变,因此有时连续3个,有时可能只有2个或最多6个。

谁可以提供帮助?

Screenshot from actual website design and flawed css floats

3 个答案:

答案 0 :(得分:6)

对LI使用“display:inline-block”,而不是“float:left”

答案 1 :(得分:1)

我很高兴被证明是错的,但我认为你必须使用表格或display: table-*构造。 (我个人会选择表格 - 这个有些表格数据。)

只有表格渲染可以根据最高成员的高度调整整行的大小。

这是我在没有JS或PHP的情况下可以看到的唯一方法。

答案 2 :(得分:0)

使用jQuery。

非常确定只使用CSS是不可能的。除非你打算使用绝对定位并忘记所有浮动。

我希望我错了! :)

(希望能够用w / css做到这一点)