2013-05-22 2 views
1

Я ищу оптимизированный способ отображения динамически сгенерированных элементов, отсортированных и сгруппированных по инициалам (например, на изображении ниже). Группы могут иметь различное количество элементов, и поэтому общее количество элементов неизвестно.Уравнивание содержимого между столбцами

Что было бы лучшим решением для распространения групп по столбцам (они должны оставаться отсортированными)?

В настоящее время группы и элементы генерируются из php и распространяются по столбцам (div), которые содержат группы и элементы в элементах ul и li.

https://www.dropbox.com/s/ub3mg3twm0eg8b6/columns.jpg

Спасибо заранее,

+0

Вот структура html: https://www.dropbox.com/s/lllzp5dbmwi5m08/columns.txt .. Я нашел некоторые решения для разделения контента на основе общего количества li, но это не работает, потому что li должны работать как группа. –

+0

Наилучшая подгонка = Общее число элементов/число столбцов. Затем заполните каждый столбец до тех пор, пока половина конечного пункта следующего блока элементов не будет находиться за концом столбца и перейдите к следующему. – leftclickben

+0

Спасибо @leftclickben, это похоже на лучший подход до сих пор. –

ответ

0

Поскольку это выглядит просто нужно толчок, чтобы начать его, что я бы делать. Поскольку ваши столбцы динамически Я предполагаю, что вы используете PHP для этого вам необходимо:

  1. Count каждый элемент в столбцах
  2. Граф все элементы на всей странице
  3. Divide что три
  4. Затем вы будете выводить первую треть до последнего элемента последней группы
  5. Подсчитайте все элементы в первом столбце
  6. Следующий выход, начиная с первого элемента новой группы и выводит столько элементов, сколько в первом группа ex исключающее последней группе
  7. выхода остальных элементов в последнем столбце де-

нуждается в некоторой настройке, конечно. Удачи!

+0

Я понял это, но проблема в том, что элементы группы нельзя отделить (они должны оставаться в одном столбце, включая заголовок группы) поэтому, если я распределяю группы (по столбцам) на основе среднего числа элементов для столбца, то я не буду получать приблизительные четные столбцы, потому что ошибка пикселя может быть довольно большой в этом случае. –

+0

Обновлен мой ответ с более подробными пояснениями – user2019515

+0

thank вы за свой ответ, но вы объясняете, как я могу распространять группы по столбцам, но не выравниваться. Это по-прежнему дает высокую ошибку пикселей = в некоторых случаях результат не будет столбцами с одинаковой высотой (высота контента). –

Смежные вопросы