拉伸水平ul以适应div的宽度
对于我的网站的主要导航,有一个980px宽的div与主导航链接ul。 我试图让导航链接拉伸,以适应div的宽度均匀。
<div style="width: 980px;"> <ul id="horizontal-style"> <li><a href="#">Nav Item</a></li> <li><a href="#">Short Item</a></li> <li><a href="#">Really Long Nav Item</a></li> <li><a href="#">Nav Link</a></li> <li><a href="#">Another Link</a></li> </ul> </div>
我正在做一些典型的CSS来水平ul列表(浮法:左,显示:块)。 我可以调整李的填充以使其非常接近,但是我真正需要的是使其自动适应的方法。 可能?
编辑难度1:不能使用表格。 难度2:每个导航项目将有不同的宽度以容纳更长和更短的链接名称。
这是最简单的方法: http : //jsfiddle.net/thirtydot/jwJBd/
(或者使用table-layout: fixed
宽度分布: http : //jsfiddle.net/thirtydot/jwJBd/59/ )
这在IE7中不起作用 。
#horizontal-style { display: table; width: 100%; /*table-layout: fixed;*/ } #horizontal-style li { display: table-cell; } #horizontal-style a { display: block; border: 1px solid red; text-align: center; margin: 0 5px; background: #999; }
编辑之前的旧答案: http : //jsfiddle.net/thirtydot/DsqWr/
人们讨厌表格中的非表格数据,但是你所要求的正是表格擅长的。 <table width="100%">
不雅(但有效)的方式:使用百分比
#horizontal-style { width: 100%; } li { width: 20%; }
这只适用于5L的例子。 或多或less地修改你的百分比。 如果你的页面上有其他的<li>
s,你可以随时分配这些特定的“menu-li”,这样只有它们受到影响。
#horizontal-style { width: 100%; } li { width: 20%; }
这种方法不会响应,因为在最小的屏幕上它将会是20%,而这个屏幕会太小,或者覆盖的另一种方式是在不同的断点上进行媒体查询。