Navigateurs modernes
Pour afficher une liste non ordonnée sur deux colonnes dans les navigateurs modernes , utilisez les colonnes CSS3 module :
CSS :
ul { columns: 2; -webkit-columns: 2; -moz-columns: 2; }
[Démo JSFiddle](http://jsfiddle.net/HP85j/8/)
Navigateurs hérités
Pour la prise en charge d'Internet Explorer, les manipulations JavaScript et DOM sont nécessaire :
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; }
Remarque : La fonction JavaScript initiale classe les colonnes comme suit :
A E B F C G D
Pour ordonner les colonnes comme demandé par l'OP :
A B C D E F G
Modifiez la fonction updateColumns en :
function updateColumns() { column = 0; columnItems.each(function (idx, el) { if (column > columns.length) { column = 0; } $(columns.get(column)).append(el); column += 1; }); }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!