谢谢大家,我什至不知道 CSS 中存在 column-count 属性。学到了一些新东西。
但由于 IE 不支持它,让我提出一个替代解决方案。它使用 Twitter Bootstrap 之类的行/跨度布局样式。如果您包含引导程序,CSS 将变得更加简单。
缺点是它将从左到右列出项目,而不是在每列中从上到下。
jsfiddle
html:
<div class="wrapper left">
<div class="single">
<ul>
<li><a href="#">Lorem ipsum</a></li>
<li><a href="#">dolor sit amet</a></li>
<li><a href="#">consectetur</a></li>
<li><a href="#">adipiscing elit</a></li>
<li><a href="#">sit amet erat</a></li>
<li><a href="#">congue</a></li>
<li><a href="#">quis dolor in orci</a></li>
<li><a href="#">venenatis vel</a></li>
<li><a href="#">Vivamus</a></li>
</ul>
</div>
</div>
<div class="wrapper right">
<div class="multi">
<ul>
<li><a href="#">Lorem ipsum</a></li>
<li><a href="#">dolor sit amet</a></li>
<li><a href="#">consectetur</a></li>
<li><a href="#">adipiscing elit</a></li>
<li><a href="#">sit amet erat</a></li>
<li><a href="#">congue</a></li>
<li><a href="#">quis dolor in orci</a></li>
<li><a href="#">venenatis vel</a></li>
<li><a href="#">Vivamus</a></li>
</ul>
</div>
</div>
CSS:
.wrapper {
border-radius:10px;
overflow:hidden;
}
.single, .multi {
display:block;
margin-left:-5px;
}
.single ul {
width:205px;
}
.multi ul {
width:615px;
}
ul {
background-color:#545454;
border-radius:10px;
display:block;
margin: 0;
padding:0;
}
ul:after {
content: ".";
display: block;
clear: both;
visibility: hidden;
line-height: 0;
height: 0;
}
li {
background-color:#CACACA;
border-radius:10px;
display:block;
float:left;
margin-left:5px;
padding:5px 10px;
width:180px;
}
a {
text-align:left;
white-space:nowrap;
}
.left {
left: 10px;
position: absolute;
top: 0;
}
.right {
left: 220px;
position: absolute;
top: 0;
}