使用下面的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兼容。


当前回答

这对我很管用。 最好的解决方案是因为一行中的单元格具有相同的高度而不考虑内容吗

申{ 显示屏:网格; 格栅:重复(2,1 fr); list-style-position:内心; list-style-type:郎; 的 li {border:固体1px;的 <德> <li>asdasd asdasd asdasd asdasd adasdasd adasdadasd adadas dasdadasdasd asd </li> < li > B < / li > < li > C < / li > < li > D < / li > < li > E < / li > < /德>

其他回答

上面答案中的遗留解决方案不适合我,因为我想影响页面上的多个列表,而答案假设一个列表加上它使用了相当多的全局状态。在这种情况下,我想改变<section class="list-content">中的每个列表:

const columns = 2;
$("section.list-content").each(function (index, element) {
    let section = $(element);
    let items = section.find("ul li").detach();
    section.find("ul").detach();
    for (let i = 0; i < columns; i++) {
        section.append("<ul></ul>");
    }
    let lists = section.find("ul");
    for (let i = 0; i < items.length; i++) {
        lists.get(i % columns).append(items[i]);
    }
});

我试着把这作为评论发布,但不能让列显示正确(根据你的问题)。

你需要:

A B

C D

E

... 但作为解决方案的答案将返回:

A D

B E

C

... 所以要么答案不正确,要么问题不正确。

一个非常简单的解决方案是设置<ul>的宽度,然后浮动并设置<li>项的宽度,如下所示

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

ul{
    width:210px;
}
li{
    background:green;
    float:left;
    height:100px;
    margin:0 10px 10px 0;
    width:100px;
}
li:nth-child(even){
    margin-right:0;
}

例如http://jsfiddle.net/Jayx/Qbz9S/1/

如果你的问题是错误的,那么前面的答案适用(与JS修复缺乏IE支持)。

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

like

 column-count:2;

查看更多细节。

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

您可以使用CSS只设置两个或更多列

一个E B C D

 <ul class="columns">
    <li>A</li>
    <li>B</li>
    <li>C</li>
    <li>D</li>
    <li>E</li>
</ul>

ul.columns  {
   -webkit-columns: 60px 2;
   -moz-columns: 60px 2;
    columns: 60px 2;
   -moz-column-fill: auto;
   column-fill: auto;
 }

下面是一个简单的方法,使用简单的CSS创建一个多列列表。如果需要,样式标记显然可以放入CSS中。

<p>Materials List</p>
<ul style="display: inline-block; float: left">
    <u>Item Description<u>
    <li>1/2" x 4' wood dowel</li>
    <li>1/2" x 12"  PVC pipe</li>
    <li>1/2" PVC pipe end cap</li>
    <li>7/16" x 3" light duty expansion spring</li>
    <li>6" plastic zip ties</li>
    <li>Light weight antenna</li>
</ul>
<div style="display: inline-block; margin-left: 1em">
    <u>Qty</u>
    <div style="text-indent: 0.5em">3</div>
    <div style="text-indent: 0.5em">1</div>
    <div style="text-indent: 0.5em">1</div>
    <div style="text-indent: 0.5em">2</div>
    <div style="text-indent: 0.5em">8</div>
    <div style="text-indent: 0.5em">1</div>
</div>
<p></p>