Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 平衡列之间的内容_Php_Javascript_Jquery_Css_Calculated Columns - Fatal编程技术网

Php 平衡列之间的内容

Php 平衡列之间的内容,php,javascript,jquery,css,calculated-columns,Php,Javascript,Jquery,Css,Calculated Columns,我正在寻找一种优化的方式来显示动态生成的项目,这些项目根据首字母排序和分组,如下图所示。组可以有不同数量的项目,因此项目总数也未知 什么是最好的解决方案来将组分散到各个列中?它们应该保持排序 目前,这些组和项是从php生成的,分布在包含ul和li项中的组和项的列IV中 提前感谢,您可以使用CSS3列,这将作为一个polyfill工作因为看起来您只需要一个推动就可以开始了,他就是我要做的。由于您的列是动态生成的,因此我假设您正在使用PHP,您应该: 计算列中的每个项目 计算整个页面上的所有项目 把

我正在寻找一种优化的方式来显示动态生成的项目,这些项目根据首字母排序和分组,如下图所示。组可以有不同数量的项目,因此项目总数也未知

什么是最好的解决方案来将组分散到各个列中?它们应该保持排序

目前,这些组和项是从php生成的,分布在包含ul和li项中的组和项的列IV中


提前感谢,

您可以使用CSS3列,这将作为一个polyfill工作

因为看起来您只需要一个推动就可以开始了,他就是我要做的。由于您的列是动态生成的,因此我假设您正在使用PHP,您应该:

计算列中的每个项目 计算整个页面上的所有项目 把它除以三 接下来,输出前三分之一,直到最后一组的最后一项 计算第一列中的所有项目 下一个输出从新组的第一个项目开始,并输出与第一个组(不包括最后一个组)中相同数量的项目 输出最后一列中的其余项
当然需要一些调整。祝你好运

下面是html结构:。。我找到了一些解决方案,可以根据li的总数拆分内容,但这不起作用,因为li应该作为一个组工作..最佳拟合=项目总数/列数。然后填充每一列,直到下一个项目块的中间点超过列的末尾,然后转到下一个。谢谢@leftclickben,这似乎是目前为止最好的方法。我发现了这一点,但问题是一个组的项目不能分开,它们需要保留在同一列上,包括组的标题。因此,如果我根据一列的平均项目数将组分布在列上,我将不会得到近似偶数列,因为像素在这种情况下,错误可能相当大..更新了我的答案,并提供了更多说明感谢您的回答,但您正在解释如何在列中分散组,而不是以均衡的方式。这仍然会产生高像素错误=在少数情况下,结果不会是具有类似高度内容高度的列。这是最佳解决方案,如果您不想拆分组,则始终会出现此像素错误