html中的无序列表ul和li水平排列取代表格的问题

通过用css设置li的width,height,以及float:left,可以让列表项水平排列,但是上级元素
ul默认为是没有实质内容的也没有高度,如何把ul设置成为块元素,并且ul两端自动对齐,
而且带边框
我如果把ul也设置成float:left,这时ul就有了高度和宽度,可那样的话就总是浮动在左边,无法两端自动居中了!我要的是ul既能有高度和宽度,而且还水平居中

你好,ul没有自适应li的高度是因为没有清除浮动,你可以如下写:
css代码:
.clearfix:after{
content:".";
display:block;
height:0;
clear:both;
visibility:hidden;
}
ul{
width:300px;
margin:0 auto;
}
html代码:
<ul class="clearfix">
<li>li内容</li>
</ul>追问

还有没有其他的方法呢
这个方法所有的浏览器都实用吗
能否再给个常规的方法,
我看不大懂

追答

所有都适用,设置了浮动一般都采用此方法清除,不然外边框都没有高度了。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-06-24
可以在UL结束位置</ul>里面加个<div style="clear:both"></div>清除浮动。
第2个回答  2016-12-26
题主,你知道了吗?可以告诉吗?我也不明白怎么弄。