對於現代瀏覽器,以兩列顯示無序列表的主要方法是利用CSS3列模組。然而,對於 Internet Explorer 等舊版瀏覽器,需要基於 JavaScript 的解決方案。
使用CSS3 columns 模組,您只需添加以下CSS 規則即可實現所需的效果效果:
ul { columns: 2; -webkit-columns: 2; -moz-columns: 2; }
對於舊版瀏覽器,您可以採用JavaScript 解決方案涉及DOM 操作。以下是使用 jQuery 的 JavaScript 程式碼範例:
$(function(){ var initialContainer = $('.columns'), columnItems = $('.columns li'), columns = null, column = 1; function updateColumns(){ column = 0; columnItems.each(function(idx, el){ if (idx > (columnItems.length / columns.length) + (column * idx)){ column += 1; } $(columns.get(column)).append(el); }); } function setupColumns(){ columnItems.detach(); while (column++ < initialContainer.data('columns')){ initialContainer.clone().insertBefore(initialContainer); column++; } columns = $('.columns'); } setupColumns(); updateColumns(); });
這是對應的CSS:
.columns{ float: left; position: relative; margin-right: 20px; }
上面提供的程式碼將在以下列中顯示結果排列:
A E B F C G D
實作所要求的變體佈局OP:
A B C D E F G
修改updateColumns()函數如下:
function updateColumns(){ column = 0; columnItems.each(function(idx, el){ if (column > columns.length){ column = 0; } $(columns.get(column)).append(el); column += 1; }); }
以上是如何使用 CSS 和 JavaScript 在兩列中顯示無序列表?的詳細內容。更多資訊請關注PHP中文網其他相關文章!