我手上有一个
HTML布局拼图.我有一个由我的
PHP应用程序生成的大型字母列表,我需要在网页上输出它.生成的标记如下所示:
<div class="list_item">A</div> <div class="list_item">B</div> <div class="list_item">C</div> <div class="list_item">D</div> <div class="list_item">E</div> <div class="list_item">F</div> <div class="list_item">G</div> <div class="list_item">H</div> ...
样式表如下所示:
.list_item { margin: 5px; padding: 5px; border: 1px solid gray; width: 200px; float: left; }
渲染结果:
正如你所看到的,这不是很易读,我希望DIV可以输出两列,所以第一列包含“A B C D”,第二列包含“E F G H”.
有没有办法做到这一点,而不改变标记?为偶数和奇数div添加不同的类是可能的,但由于div是在循环中输出的,因此不能以不同方式对它们进行拆分.
解决方法
根据您需要支持的浏览器,您可以使用新的CSS3 column-count属性.
用简单的列表标记
<ul> <li>A</li> <li>B</li> <li>C</li> <li>D</li> </ul>
使用这个CSS:
ul { -moz-column-count: 2; -moz-column-gap: 20px; -webkit-column-count: 2; -webkit-column-gap: 20px; column-count: 2; column-gap: 20px; }
Here is a fiddle – 虽然在任何版本的IE中都不支持它.为了支持旧版浏览器,你可以使用jQuery解决方案,例如Columnizer jQuery Plugin,或者代替CSS3解决方案,