Maison > interface Web > tutoriel CSS > Comment puis-je afficher une liste non ordonnée sur deux colonnes à l'aide de CSS et JavaScript ?

Comment puis-je afficher une liste non ordonnée sur deux colonnes à l'aide de CSS et JavaScript ?

Barbara Streisand
Libérer: 2024-12-11 14:34:10
original
969 Les gens l'ont consulté

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

Affichage d'une liste non ordonnée sur deux colonnes

Introduction

Pour les navigateurs modernes, la principale approche pour afficher une liste non ordonnée sur deux colonnes consiste à utiliser l'option Module de colonnes CSS3. Cependant, pour les navigateurs existants tels qu'Internet Explorer, une solution basée sur JavaScript est nécessaire.

Navigateurs modernes

À l'aide du module de colonnes CSS3, vous pouvez simplement ajouter les règles CSS suivantes pour obtenir l'objectif souhaité. effet :

ul {
  columns: 2;
  -webkit-columns: 2;
  -moz-columns: 2;
}
Copier après la connexion

Navigateurs hérités

Pour les navigateurs existants, vous pouvez utiliser une solution JavaScript qui implique DOM manipulations. Voici un exemple de code JavaScript utilisant jQuery :

$(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();
});
Copier après la connexion

Et voici le CSS correspondant :

.columns{
    float: left;
    position: relative;
    margin-right: 20px;
}
Copier après la connexion

Option d'affichage des variantes

Le code fourni ci-dessus donne la colonne suivante disposition :

A  E
B  F
C  G
D
Copier après la connexion

Pour réaliser la variante d'aménagement demandée par le OP :

A  B
C  D
E  F
G
Copier après la connexion

Modifiez la fonction updateColumns() comme suit :

function updateColumns(){
    column = 0;
    columnItems.each(function(idx, el){
        if (column > columns.length){
            column = 0;
        }
        $(columns.get(column)).append(el);
        column += 1;
    });
}
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal