0

我正在尝试做一个可以与大多数 CMS 无缝集成的页脚,因此它使用列表项和其中的嵌套列表,菜单样式。我收到的设计具有带有连续灰色背景的顶级列表,而嵌套列表项仅位于它们下方,没有背景。

经过大量摆弄浮动和清除设置后,我设法想出了这个(现场演示:http: //jsfiddle.net/mQqWX/)。

这非常接近我的需要。问题在于,为了获得连续的顶部(较暗)灰色背景,我必须使链接具有 100% 的宽度。这导致锚的宽度超出了li承载它们的项目,当我overflow: autoli项目进行操作时,我只是得到滚动条而不是扩展到锚的宽度。

这导致了最右边的问题,列表中的最后一项(事件)的圆形背景超出了包含边界divul进入“关于我们”链接(不应该有背景)。再次尝试overflow: auto只会给我滚动条。我在这两个元素上也都有 clearfix(带有 :after)。

我怎样才能使链接的宽度恰好是它们包含的宽度,<li>这样我就不会在我得到的右边出现溢出width: 100%

如何制作包装器<div><ul>横向扩展以包含宽度,而不会出现那些讨厌的滚动条?

谢谢!

PS 这是我之前的问题的延续,经过大量试验和错误后取得了一些进展。

4

2 回答 2

2

box-sizing: border-boxa。这样就解决了。但它在较旧的 IE 中不起作用。要使其工作,您可以spana标签内添加一个。标签将a设置 100% 的宽度span,带有, 的display: block, 将有填充。

问题来自填充被添加到width. width: 100%;+padding: 20px;使得width实际上等于100% + 20px + 20px。这比你想要的要多。

box-sizing: border-box;告诉浏览器width始终保持 100% - 填充 + 边框 + 宽度 = 100% - 这就是我这些天使用的 - 我通过通用*选择器将它添加到所有元素。

于 2012-11-11T14:09:00.070 回答
2

请记住:填充 + 宽度 = 真实显示宽度

因此,如果您设置 width:100% 和 padding-left:10px 假设父级具有 500px 的真实显示宽度将为 510px,这将启用滚动条,它的错误引导但它的 css

于 2012-11-11T14:11:04.637 回答