最新のブラウザの場合、順序なしリストを 2 列で表示する主な方法には、 CSS3列モジュール。ただし、Internet Explorer などの従来のブラウザの場合は、JavaScript ベースのソリューションが必要です。
CSS3 列モジュールを使用すると、次の CSS ルールを追加するだけで目的の結果を実現できます。効果:
ul { columns: 2; -webkit-columns: 2; -moz-columns: 2; }
レガシー ブラウザの場合、次のことができます。 DOM 操作を伴う JavaScript ソリューションを採用します。 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 を使用して順序なしリストを 2 列で表示するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。