我试图创建通过使用此代码块组成的导航栏: 适合屏幕宽度的箱型导航栏?
<nav id="mainnav">
<ul>
<li><a href="#">link</a></li>
<li><a href="#">link</a></li>
<li><a href="#">link</a></li>
<li><a href="#">link</a></li>
<li><a href="#">link</a></li>
<li><a href="#">link</a></li>
<li><a href="#">link</a></li>
<li><a href="#">link</a></li>
<li><a href="#">link</a></li>
<li><a href="#">link</a></li>
</ul>
</nav>
这个CSS
#mainnav
{
padding: 0px;
}
#mainnav li
{
display:inline-block;
}
#mainnav a
{
/* box */
display: block;
padding: 3px;
width: 208px;
margin: 2px;
border: 1px solid rgb(85,85,85);
/* text */
text-align: center;
}
(见小提琴:here)
现在,我的箱子每行都有尽可能多的箱子,这就是我所寻找的。
不过,我想无论是让他们像某种对齐文本中插入自动利润率(与使用整个横向空间),或有框在水平方向拉伸,以填补空间。
我试过margin: 2px auto;
,但它没有做任何事情,就像我想要的。我试过min-width
属性,它也不起作用。还有其他一些事情。
现在我已经没有想法,Google也没有帮助我。
我该如何做到这一点?
的CSS,你将不能够只用css来做到这一点 - 你将需要检查的一个javascript在'ul'和第一'li'的宽度,计算出有多少在一排去,计算需要多少填补最后一行,并相应调整最后一排'li's的宽度。 – easwee
是否允许JQuery? – LinkinTED
@easwee现在我正在研究html-css唯一的设计。但是主要的交易并不是最后一行,而是整组箱子在右侧留下空的空间。举例来说,如果有空间可以放置每行3.5个盒子,我有3个盒子加上每行右侧半个盒子的空白空间。我希望箱子或箱子之间的空间能伸展整个空间。最后一行发生的事情并不重要。 – Levans