如何包含"overflow:auto;"的宽度 动态大小的绝对div中的滚动条?

Tri*_*tan 28 html css positioning menu scrollbar

(关于Stack Overflow的第一个问题.希望我做得对.)

我正在尝试创建一个浮动菜单,从其内容继承其宽度(因为我事先不知道宽度,即从URL加载).我可以通过将菜单div绝对定位而不设置宽度或高度来实现这一点.

当内容足够高以至于需要滚动时,会出现此问题.我设置"overflow:auto;" 这样它可以垂直滚动,但新的滚动条不会使div更宽.相反,div保持相同的宽度,并且滚动条突出到其先前大小合适的内容,迫使内容换行.

示例:http://jsfiddle.net/w7Mm8/

在示例中:在Firefox中,"five"被包裹到下一行,但在Chrome中(至少对于Mac),它全部显示在一行上.

没有明确设置菜单的宽度以包括滚动条的宽度,任何优雅的方式来做到这一点?

谢谢!

boo*_*sey 4

你有几个选择。

使用white-space:nowrap;和一些padding.

使用overflow: scroll;,在底部添加一个额外的滚动条,但修复了 Firefox 中的换行问题。

使用overflow-y:scrollCSS3,并且仅受现代浏览器支持。