Li的横向排列自适应宽度问题

2008-02-23 08:36:14来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

  众所周知,FF和OPERA即其它遵循CSS2标准的浏览器由于版本的不断改进,早就支持:

  display:table

  dispaly:table-cell

  dispaly:table-row

  dispaly:table-row- group

  dispaly:table-column

  dispaly:table-column-group

  等属性。

  (至少是 FF1.0,OPERA7就能支持了,之前的就不太清楚了)那还犹豫什么?开始动手吧(为了演示加了一些 padding和border):


IE不支持该效果,FF和OPERA下看看。

上面的示例分别定义了

#d{
display:table;
}
#d ul{
display:table-row-group;
}
#d li{
display:table-cell;
}
那么它们在CSS2的样式里表现就分别相当于表格的
<tabel>
<tr>
<td>
标签,这样上面第一个示例里的5个 <li>就自然的被均分横向排列在#b和#b ul里,一切都很正常,表格都是这么解释的。然而,细心的朋友又会想到另一个问题,当#d的宽度不能被所包含的#d li的节点数整除,#d li的宽度又是如何均分#d的宽度呢?它在浏览器下宽度尺寸又是如何表现的呢?为了说明问题,重新定义一个不被#d li的节点数整除的#d的宽度,这里任意给个799px,在FF/opera下测试看看: