现代浏览器
在现代浏览器中以两列显示无序列表,利用 CSS3 列模块:
CSS:
ul { columns: 2; -webkit-columns: 2; -moz-columns: 2; }
[JSFiddle 演示](http://jsfiddle.net/HP85j/8/)
旧版浏览器
对于 Internet Explorer 支持、JavaScript 和DOM 操作是必要的:
HTML:
<div> <ul class="columns" data-columns="2"> <li>A</li> <li>B</li> <li>C</li> <li>D</li> <li>E</li> <li>F</li> <li>G</li> </ul> </div>
JavaScript (jQuery):
(function ($) { var initialContainer = $('.columns'), columnItems = $('.columns li'), columns = null, column = 1; // account for initial column function updateColumns() { column = 0; columnItems.each(function (idx, el) { if (idx !== 0 && 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'); } $(function () { setupColumns(); updateColumns(); }); })(jQuery);
CSS:
.columns { float: left; position: relative; margin-right: 20px; }
注意:初始 JavaScript 函数对列进行排序如下:
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中文网其他相关文章!