Jon*_*Jon 5 html css dynamic html-lists css-multicolumn-layout
我正在尝试编写灵活的代码,其中我有一个普通代码,<ul>它会为每 5 个元素自动创建另一列。我找到了一个实现此目的的教程,但将项目按水平顺序放置,而我需要垂直顺序。我看过其他一些输出垂直顺序的教程,但也附加了class="first"和class="second"到每个li不是我想要的。我希望使用我现有的 HTML 代码。
我想要的是:
-01 -06 -11
-02 -07 -12
-03 -08 -13
-04 -09 -14
-05 -10 -15
Run Code Online (Sandbox Code Playgroud)
我拥有的:
-01 -02 -03
-04 -05 -06
-07 -08 -09
-10 -11 -12
-13 -14 -15
Run Code Online (Sandbox Code Playgroud)
CSS:
ul {
width:760px;
margin-bottom:20px;
overflow:hidden;
}
li {
float:left;
display:inline;
}
.double li { width:50.0%; } /* 2 col */
.triple li { width:33.3%; } /* 3 col */
.quad li { width:25.0%; } /* 4 col */
.six li { width:16.6%; } /* 6 col */
Run Code Online (Sandbox Code Playgroud)
HTML:
<ul class="triple">
<li>01</li>
<li>02</li>
<li>03</li>
<li>04</li>
<li>05</li>
<li>06</li>
<li>07</li>
<li>08</li>
<li>09</li>
<li>10</li>
<li>11</li>
<li>12</li>
<li>13</li>
<li>14</li>
<li>15</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
您可以使用此代码:
ul
{
-webkit-column-count: 4; -webkit-column-gap:20px;
-moz-column-count:4; -moz-column-gap:20px;
-o-column-count:4; -o-column-gap:20px;
column-count:4; column-gap:20px;
}
Run Code Online (Sandbox Code Playgroud)
但不幸的是,我不确定它是否适用于所有浏览器。你应该尝试一下。
这是使用它的 jsFiddle: http: //jsfiddle.net/leniel/nRL4R/