[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: списик li в несколько столбцов
REZzANATOR
Необходимо вывести списик li в несколько столбцов причем чтобы элементы становились не слева, а шли вниз

Исходный

<ul>
<li>
1.Текст</li>
<li>
2.Текст</li>
<li>
3.Текст</li>
<li>
4.Текст</li>
<li>
5.Текст</li>
<li>
6.Текст</li>
<li>
7.Текст</li>
<li>
8.Текст</li>
<li>
9.Текст</li>
<li>
10.Текст</li>
<li>
11.Текст</li>
<li>
12.Текст</li>
</ul>



Необходимо:
1.Текст 5.Текст 9.Текст
2.Текст 6.Текст 10.Текст
3.Текст 7.Текст 11.Текст
4.Текст 8.Текст 12.Текст

Как сделать это средствами html?

_____________
ApuktaChehov
Несколько списков?

Еще как не знаю sad.gif

_____________
REZzANATOR
неа. именно нада в одном ul, чтобы массив отдал и оно само выстроилось.

float не идет так как оно в ряд выстроится.

Блин ну и задачка. Я бы етому дизайнеру... mad.gif

_____________
Mizka
список генерируется с php скрипта?

$array = array(1, 2, 3, 4, 5, 6, 7, 8, 9 , 10, 11, 12);
echo '<ul>';
$cnt = 0;
for($i = 0; i < count($array); $i++)
{
$cnt++;
if($cnt = 4)
{
$separator = '</br>';
$cnt = 0;
}
echo '<li>'.$i+1.' '.$array[$i].'</li>'.$separator;
}
echo '</ul>';

как-то так ...
REZzANATOR
оч признателен.
Но нужно средствами html (css)

И в вашем примере они выведутся

1. 2. 3. 4.
5. 6. 7. 8.
9. 10. 11. 12.

этого можно добиться и без пхп, а просто повесить float: left на элемент li)))

_____________
Guest
Ячейками таблицы:

<ul><table><tr><td>
<li>
1.Текст</li>
<li>
2.Текст</li>
<li>
3.Текст</li>
<li>
4.Текст</li> </td>
<td><li>
5.Текст</li>
<li>
6.Текст</li>
<li>
7.Текст</li>
<li>
8.Текст</li> </td>
<td><li>
9.Текст</li>
<li>
10.Текст</li>
<li>
11.Текст</li>
<li>
12.Текст</li>
</td></tr></table></ul>
REZzANATOR
(( нужно каждый раз проверять текущий номер равен 4, а если массив на 2 тыщ элементов. и общая скорость работы скрипта важна

_____________
qpayct
Цитата
Ячейками таблицы
или дивами
REZzANATOR
дивы

_____________
qpayct
<?php

?>

<!DOCTYPE html>
<html>
<head>
<meta
http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>
dog6op</title>
<link
rel="stylesheet" href="styles.css">
<style>

#div1, #div2, #div3 {
float: left;
width: 200px;
}
</style>
</head>

<body>
<ul>
<div
id="div1">
<li>
1</li>
<li>
2</li>
<li>
3</li>
</div>
<div
id="div2">
<li>
4</li>
<li>
5</li>
<li>
6</li>
</div>
<div
id="div3">
<li>
7</li>
<li>
8</li>
<li>
9</li>
</div>
</ul>
</body>
</html>
REZzANATOR
можно тогда и без li )) просто на дивах сдлеать)

перефразирую
к примеру есть 250 строк

их нужно вывести вот таким способом


1.Текст 5.Текст 9.Текст
2.Текст 6.Текст 10.Текст
3.Текст 7.Текст 11.Текст
4.Текст 8.Текст 12.Текст

Без разницы выводится будет в 1 див или в 1 список ul

Нашел вот такое (http://www.alistapart.com/articles/multicolumnlists) но оно не спасает

_____________
qpayct
если не нужны свойства списка, тогда можно без списка, да blink.gif
clear: left; в <br /> - круто!
kamik
За правильный синтаксис не ручаюсь. Идея надеюсь понятна:

<table><tr><td>
<?php

for($i = 1; i < count($array))
{
echo $array[$i];
$i=$i+3;
}
?>
</td>
<td>
<?php

for($i = 2; i < count($array))
{
echo $array[$i];
$i=$i+3;
}
?>
</td>
<td>
<?php

for($i = 3; i < count($array))
{
echo $array[$i];
$i=$i+3;
}
?>
</td></tr></table>
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.