如何制定出N個隨機高度的列的portlet都在CSS,這樣如果瀏覽器的大小時的數量是減少的列(使用@媒體(最小寬度:)),並且portlet仍然在頁面上很好地放置在一起,沒有間隙。
這與 Float multiple fixed-width/varible-height boxes into 2 columns 類似,但更一般。
詳細信息:
我已經建立了一個Web應用程序(PHP/Zend框架)與取得了一系列的portlet的「儀表板」頁面。這些portlet可以排列成1,2,3或4個相等寬度的列(用戶可選擇)。當用戶調整瀏覽器窗口大小時,列會擴展以填充可用寬度,並且portlet也會水平擴展。每個portlet的垂直高度由其內容定義。有些只有1-2行,其他可以是30-40行+文本/表格/圖像等。
我想把它變成一個「響應式設計」,以便用戶不必選擇列數。在小屏幕上(例如iPhone)只會顯示一列。在寬屏幕上,他們可能有4或5列。如果瀏覽器窗口調整大小,列數將調整爲上或下以允許Portlet保持大約300-400像素寬。我想我可以用一點jQuery和一些服務器端支持(PHP)來做到這一點,但如果可能的話,寧願在CSS中做所有事情(沒有/最小的JavaScript)。
可以顯示想要的圖形示例嗎 – sandeep
如果有三個portlet會怎麼樣?當你縮小屏幕時,你會期望在第一行中有兩個portlet,在下面或三個堆疊的portlet中有兩個portlet? – mrtsherman
@mrtsherman:在1列模式下,它們將全部在彼此之上;在2列模式中,一列中有2個,另一列(另一個無關緊要,但如果我們可以以某種方式調整它們的高度,那麼它們就會很酷,例如同一列中的兩個最短的那個)。在3列模式下,每列將有一個;在4列模式下,應該填寫最左邊三列。 – Steve