无序列表中多行列表项的水平居中对齐

24
我有一个无序列表,它会换行到第二行,并且需要在包含UL中水平居中。每个LI具有相同的宽度和高度。我已经看到了许多适用于单行的方法,但是当列表换到第二行时,我尝试过的方法都不起作用。最好能够在IE7+中运行--感谢您的帮助。
请参见此处的说明:

illustration http://grab.by/8UIl

1个回答

34

这是我能找到的最佳方法。

ul li { 
    /* make list elements fall inline as block elements */
    position: relative;
    display: inline-block;
    /* next two lines only for display purposes */
    text-align: center;
    border:1px solid red;
}
/* horizontally center ul element */
ul { text-align:center; }

参见链接了解示例:http://jsfiddle.net/gfkPG/


哦我的天啊,哈哈哈——如此简单的解决方案——我太习惯于使用复杂的解决方法了,以至于忘记看显而易见的东西。非常感谢! - John
抱歉,我有点过于急躁了,由于某些原因,在IE7中这不起作用。 - John
4
IE总是有一些小技巧 :) 这是我找到的解决方法:在条件CSS中添加zoom:1;*display:inline;即可。再次感谢。 - John

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接