>웹 프론트엔드 >CSS 튜토리얼 >CSS와 JavaScript를 사용하여 두 열에 순서 없는 목록을 표시하는 방법은 무엇입니까?

CSS와 JavaScript를 사용하여 두 열에 순서 없는 목록을 표시하는 방법은 무엇입니까?

DDD
DDD원래의
2024-12-20 07:35:09507검색

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

두 열에 순서가 지정되지 않은 목록 표시

최신 브라우저

최신 브라우저에서 두 열에 순서가 지정되지 않은 목록을 표시하려면 , 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.