使用以下 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 一起使用。
原文由 atp03 发布,翻译遵循 CC BY-SA 4.0 许可协议
使用以下 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 一起使用。
原文由 atp03 发布,翻译遵循 CC BY-SA 4.0 许可协议
我正在查看 @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,因为你的回复帮助我发现了这一点。
原文由 Winnifred 发布,翻译遵循 CC BY-SA 3.0 许可协议
2 回答909 阅读✓ 已解决
3 回答801 阅读✓ 已解决
4 回答1.2k 阅读✓ 已解决
2 回答1.5k 阅读✓ 已解决
2 回答1.3k 阅读✓ 已解决
2 回答877 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
现代浏览器
利用 css3 列模块来支持您正在寻找的内容。
http://www.w3schools.com/cssref/css3_pr_columns.asp
CSS:
http://jsfiddle.net/HP85j/8/
旧版浏览器
不幸的是,对于 IE 支持,您将需要一个涉及 JavaScript 和 dom 操作的代码解决方案。这意味着只要列表的内容发生变化,您就需要执行将列表重新排序为列并重新打印的操作。为简洁起见,下面的解决方案使用 jQuery。
http://jsfiddle.net/HP85j/19/
HTML:
脚本:
CSS:
编辑:
正如下面所指出的,这将对列进行如下排序:
而 OP 要求匹配以下内容的变体:
要完成变体,您只需将代码更改为以下内容: