我认为这已被问了一百万次,但对问题的定义不同。它可能要么很容易修复,要么是网页设计师的长期愿望,但仍然没有答案。 注意:我做了在堆栈上的css float上搜索,但是虽然有些看起来像我的问题,到目前为止我还没有找到类似的问题。
如果你看到附件,我想要做的就会变得清晰。我希望它们排成3行,整齐地堆叠在一起,每个<li>
项的高度不同。换句话说:一行中最高的<li>
元素是前导,下一行项目应该包含在这一行中。现在,新行上的项目会在开头碰到更长列表项的内容,从而阻止新行的第一项完全浮动到左侧。
请注意我不想用php或js解决这个问题,我认为一个纯粹的css解决方案必须在那里...因为有了php,我当然可以添加类似“new-row”的类它并对它应用clear: both
并将它包装。如果我想在CSS中做同样的事情,那么我不能没有使用支持不足的:nth-of-type
的东西。此外,内容块的宽度可变,因此有时连续3个,有时可能只有2个或最多6个。
谁可以提供帮助?
答案 0 :(得分:6)
对LI使用“display:inline-block”,而不是“float:left”
答案 1 :(得分:1)
我很高兴被证明是错的,但我认为你必须使用表格或display: table-*
构造。 (我个人会选择表格 - 这个是有些表格数据。)
只有表格渲染可以根据最高成员的高度调整整行的大小。
这是我在没有JS或PHP的情况下可以看到的唯一方法。
答案 2 :(得分:0)
使用jQuery。
非常确定只使用CSS是不可能的。除非你打算使用绝对定位并忘记所有浮动。
我希望我错了! :)
(希望能够用w / css做到这一点)