![]() |
|
Модераторы: Illuminaty |
![]()
|
|
| NDenis |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 317 Регистрация: 14.12.2007 Репутация: 8 Всего: 8 |
Итак, дано: макет страницы где в несколько колонок расположены списки. Проблема заключается в том, что раскладка выполнена не по горизонтали а по вертикали, поэтому простое float:left для элемента ul не прокатит.
Помогите решить такую задачку. Присоединённый файл ( Кол-во скачиваний: 14 )
spiski_03.jpg 23,58 Kb |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 48 Всего: 386 |
NDenis, надо настучать по голове дизайнеру и сказать, чтобы так не делал.
если дизайнер шустро уворачивается, можно показать ему примерный вариант решения с использованием JavaScript: -- вывести весь список в одну колонку, с overflow:hidden; float:left;. -- склонировать список нужное число раз. и вставить рядом с первым. -- в каждой следующей колонке ставить "scrollTop" примерно равный scrollHeight первой колонки*порядковый номер колонки. -- пристроить красивые скроллеры на скрипте, чтобы все это хозяйство могло скроллироваться более-менее разумно. -- поставить обработчик onresize, для любителей шевелится... Особенный геморой будет с вычислением ситуации, когда строка "отсекается" верхним или нижним краем колонки. Впрочем. оно так или иначе тоже считается... Это сообщение отредактировал(а) ksnk - 30.4.2009, 17:53 -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| NDenis |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 317 Регистрация: 14.12.2007 Репутация: 8 Всего: 8 |
Да уже всю голову отбил дизайнеру.
Я в JavaScript не силен (чесно говоря не особо понял порядок действий), что-то попробую сделать или уговорить немного переделать макет. |
||||
|
|||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 50 Всего: 315 |
а это какая задача? сугубо клиентская или всё же серверная?
у меня большие сомнения, что этот список верстается статически каждый раз при изменении |
|||
|
||||
| NDenis |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 317 Регистрация: 14.12.2007 Репутация: 8 Всего: 8 |
bars80080, этот список генерится из базы на сервере.
|
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 48 Всего: 386 |
www.quirksmode.org Показывать заказчику в Мозиле и говорить. что так и надо...
Это сообщение отредактировал(а) ksnk - 1.5.2009, 19:56 -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 50 Всего: 315 |
тогда при выборке определяем количество пунктов, после чего делим на количество колонок k, округляем ceil() в верхнюю сторону и генерим табличку, выбирая в каждой итерации значение n, n+1, n+2, n+k, с шагом k итого два цикла. а в чём вопрос? |
|||
|
||||
| NDenis |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 317 Регистрация: 14.12.2007 Репутация: 8 Всего: 8 |
Вопрос временно снят. Переделали макет.
Всем спасибо за предложения. |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Вёрстка веб-сайтов | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |