使用下面的HTML,将列表显示为两列的最简单方法是什么?

<ul>
    <li>A</li>
    <li>B</li>
    <li>C</li>
    <li>D</li>
    <li>E</li>
</ul>

想要显示:

A B
C D
E

解决方案需要与Internet Explorer兼容。


当前回答

我在看@jaider的解决方案,但我提供了一个稍微不同的方法,我认为更容易使用,我已经看到跨浏览器都很好。

ul{
    list-style-type: disc;
    -webkit-columns: 2;
    -moz-columns: 2;
    columns: 2;
    list-style-position: inside;//this is important addition
}

在默认情况下,无序列表显示项目符号的位置,但在一些浏览器中,这将导致一些显示问题,基于浏览器的布局你的网站的方式。

要让它以以下格式显示:

A B
C D
E

等等,使用以下方法:

ul li{
    float: left;
    width: 50%;//helps to determine number of columns, for instance 33.3% displays 3 columns
}
ul{
    list-style-type: disc;
}

这将解决显示列的所有问题。祝你一切顺利,谢谢@jaider,因为你的回复帮助我发现了这一点。

其他回答

这是最简单的方法。CSS。

为ul元素添加width。 添加display:inline-block和新列的宽度(应该小于ul宽度的一半)。

ul.list {
  width: 300px;  
}

ul.list li{
  display:inline-block;
  width: 100px;
}
<ul class="list">
    <li>A</li>
    <li>B</li>
    <li>C</li>
    <li>D</li>
    <li>E</li>
</ul>

在updateColumns()中需要if (column >= columns.length)而不是if (column > columns.length)来列出所有元素(例如跳过C),因此:

function updateColumns(){
    column = 0;
    columnItems.each(function(idx, el){
        if (column >= columns.length){
            column = 0;
        }
        console.log(column, el, idx);
        $(columns.get(column)).append(el);
        column += 1;
    });
}

http://jsfiddle.net/e2vH9/1/

这可以使用父div上的column-count css属性来实现,

like

 column-count:2;

查看更多细节。

如何使浮动DIV列表出现在列,而不是行

现在的日子,对于预期的结果,显示:网格;是最简单的吗?

申{ 显示屏:网格; 格栅:重复(2,1 fr); 的 <德> < li > A < / li > < li > B < / li > < li > C < / li > < li > D < / li > < li > E < / li > < /德>

你也可以让列在左边收缩,并且可以有不同的宽度:

ul { 显示:网格; Grid-template-columns: repeat(2, auto); justify-content:开始; } 李{ margin-left: 1 em; 边框:1px;/*see me */ } < ul > <李> < /李> <李> B李< / > <李> C 123456李< / > <李> D李< / > <李> E李< / > < / ul >

我在看@jaider的解决方案,但我提供了一个稍微不同的方法,我认为更容易使用,我已经看到跨浏览器都很好。

ul{
    list-style-type: disc;
    -webkit-columns: 2;
    -moz-columns: 2;
    columns: 2;
    list-style-position: inside;//this is important addition
}

在默认情况下,无序列表显示项目符号的位置,但在一些浏览器中,这将导致一些显示问题,基于浏览器的布局你的网站的方式。

要让它以以下格式显示:

A B
C D
E

等等,使用以下方法:

ul li{
    float: left;
    width: 50%;//helps to determine number of columns, for instance 33.3% displays 3 columns
}
ul{
    list-style-type: disc;
}

这将解决显示列的所有问题。祝你一切顺利,谢谢@jaider,因为你的回复帮助我发现了这一点。