2010-11-07 69 views
0

我有從php生成的列表長度各不相同。我怎麼能夠在一定的高度休息時間列出這張名單,並開始填寫一個新的專欄,而不是留在一個長欄中?以設定的時間間隔將列表中斷到新列

如果列表不好,我可以用div來做,但我無法弄清楚怎麼做。

回答

0

我會看看CSS3中的column- *聲明。請注意,他們很可能不會在IE瀏覽器中工作,因爲Firefox/Webkit瀏覽器需要黑客才能正常工作。

http://www.quirksmode.org/css/multicolumn.html

你會只需要設置一個高度包裝的div,這是它會切斷,並開始新的一列。我想不出一種方法來處理一系列的項目,除非您在PHP中添加邏輯以在X元素之後開始一個新列<div>/<ul>。甚至會是更好的解決方案。

+0

非常遺憾,該網站需要支持IE。 php解決方案就是我所追求的。我只是在表達我的問題時做了一個糟糕的工作。 – Zac 2010-11-07 04:28:31

+0

是的,我會建議只用PHP做這個,然後做邏輯把它們分離成列。 – 2010-11-07 05:30:32

0

如果訂單不重要,您可以通過給每個li固定寬度並簡單地使它們環繞(float: left應該這樣做)來模擬列。

否則,你將不得不等待CSS3完成並通過。

+0

這隻會將它們水平堆疊,然後纔會換行到下一行?我需要它們垂直到某個高度,然後繼續在下一列,我認爲它需要一個PHP或JavaScript解決方案。 – Zac 2010-11-07 04:29:39

+0

這就是爲什麼我說它只是「模擬」列。它在任何情況下都不起作用,但它可能更適合需要JavaScript,並且它會保留列表的語義結構,而不像使用多個列表。 – 2010-11-07 05:31:20