And*_*cer 2 css cross-browser css3 multiple-columns
我有一个无序的项目列表,使用典型的ul- > li结构.我申请column-count:3了这个ul(以及前缀).它在Firefox中运行得很漂亮.在Chrome和IE11(它应该根据caniuse工作),它主要工作,但我遇到了奇怪的行为.看一下截图:


如果你注意到,中间列在Chrome中被按下(IE11是相同的).在这两种情况下,浏览器似乎试图使前两列的高度相等.有没有办法告诉它尊重block物品?
<ul>
<li>List Item 1</li>
<li>List Item 2</li>
...
<li>List Item 20</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
ul {
-moz-column-count:3;
-webkit-column-count:3;
column-count:3;
}
ul li {
display:block;
list-style-type:none;
padding:10px;
margin-bottom:10px;
border-left:solid 4px rgb(205,88,5);
background-color:rgba(0,0,0,0.1);
}
Run Code Online (Sandbox Code Playgroud)
JSFiddle:http://jsfiddle.net/6cVqZ/
在第一个JSFiddle,我发现添加到 li
display: inline-block;
width: 100%;
Run Code Online (Sandbox Code Playgroud)
用于对齐元素并填充列宽.
编辑:
以上目前适用于Firefox和Chrome.在IE上,我还必须设置li为box-sizing:border-box;,因为指定widthwhile padding指定会导致溢出.链接到原始小提琴的更新版本,现在可以在所有主流浏览器中使用: