ホームページ > ウェブフロントエンド > CSSチュートリアル > CSS と JavaScript を使用して順序なしリストを 2 列で表示するにはどうすればよいですか?

CSS と JavaScript を使用して順序なしリストを 2 列で表示するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-12-11 14:34:10
オリジナル
969 人が閲覧しました

How Can I Display an Unordered List in Two Columns Using CSS and JavaScript?

順序なしリストを 2 列で表示する

はじめに

最新のブラウザの場合、順序なしリストを 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;
}
ログイン後にコピー

Variant Display Option

上記のコードの結果は次の列になります。配置:

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート