КАК прижать нижние div впритык к верхним?? всего div около 1000 штук, поэтому не надо советовать подгонять каждый div средствами position - margin-top Код (Text): <style> .bl{ display: inline-block; background-color:#ccc; border:1 solid #333; width:100px; margin-bottom:10px; } </style> <table><tr><td width="400"> <div style="height:100px;" class="bl">1</div> <div style="height:40px;" class="bl">1</div> <div style="height:30px;" class="bl">1</div> <div style="height:80px;" class="bl">1</div> <div style="height:90px;" class="bl">1</div> <div style="height:150px;" class="bl">1</div> <div style="height:20px;" class="bl">1</div> <div style="height:100px;" class="bl">1</div> <div style="height:110px;" class="bl">1</div> </td></tr></table>
Расклад как на второй картинке будет если у тебя будет несколько "колонок", т.е. любых контейнеров, которые будут задавать отдельные потоки. В каждой из колонок элементы абсолютно естественным образом прижмутся кверху. Уточнение: ширина колонки должна быть недостаточной чтобы дочерние элементы разложились горизонтально.
если создать внутри foreach 3 колонки - они будут дублировать одну, нужно то другое , как на картинке. Добавлено спустя 1 минуту 38 секунд: причем если получиться создать эти колонки, то div'ы будут сортироваться сперва в первой колонке по вертикали, потом во второй и тд.
Чего? Скажи по русски: ты согласен, что указанный способ разметки решает поставленную задачу? То есть тема HTML+CSS раскрыта. Остались затруднения как организовать генерацию страницы (цикл). Так? Если так, добро пожаловать в раздел PHP для новичков, где стОит заново сформулировать вопрос уже по новому, показать исходные данные, чего ты добился сам и что не получается.
Нет, ничего не получилось, так то я и сам понимаю что разбить нужно на колонки, а как это реализовать не знаю. хорошо бы кто нибудь рабочий пример скинул
Тебе давать что-то, только растягивать агонию. За два года, что ты на форуме зареган уже можно было научиться элементарным действиям. В игнор!
Код (Text): <div id=col1 class=column> <div id=1></div> <div id=2></div> </div> <div id=col2 class=column> <div id=3></div> <div id=4></div> </div> <div id=col3 class=column> <div id=5></div> <div id=6></div> </div> .column {float: left; width: 33%;}
вот код, 3 колонки, но все равно пробелы между div Код (Text): $Results = glob("base/*", GLOB_BRACE); foreach ($Results as $filename) { $time[$filename] = filemtime($filename); } array_multisort($time, SORT_DESC); ?> <style> .t{ display:inline-block; border:1 solid #000; width:400px; } </style> <table class='t'><tr> <? $count=0; foreach( $time as $key=>$key_t){ echo '<td>'; require "require/msg.php"; echo '</td>'; if( ++$count % 3 == 0 ) echo "</tr><tr>"; } ?> </tr></table>
Ну и как ему позиционироваться, если вы его впихиваете в таблицу, где по умолчанию высота строки всегда одинакова? На кой черт тут вообще взялся этот table?
У меня получилось как я хотел, вот код, но есть одно но - сбилась сортировка, может кто поможет отладить ? Код (Text): <? $Results = glob("base/*", GLOB_BRACE); $time = array(0=>'',1=>'',2=>'',3=>''); $i = 0; foreach ($Results as $filename) { $time[$i][$filename] = filemtime($filename); $i = $i == 3 ? 0 : $i+1; } array_multisort($time, SORT_DESC); ?> <style> .hh1{ width:320px; float:left; border:1 solid #666; } </style> <div class="hh1"><?php foreach ($time[0] as $key=>$key_t){ require "require/msg.php"; } ?></div> <div class="hh1"><?php foreach ($time[1] as $key=>$key_t){ require "require/msg.php"; } ?></div> <div class="hh1"><?php foreach ($time[2] as $key=>$key_t){ require "require/msg.php"; } ?></div> <div class="hh1"><?php foreach ($time[3] as $key=>$key_t){ require "require/msg.php"; } ?></div>
$time[$i][$filename] = filemtime($filename); $i = $i == 3 ? 0 : $i+1; прекрасно заменяется на $time[$i++ % 4] = filemtime($filename); И вывод четырех последних дивов тоже можно сделать в цикле.