我有一个两级水平导航菜单;第二层垂直显示。第二层的元素数量各不相同。有时,列表会超出浏览器 View 的范围。我决定使用 overflow-y:auto
和 max-height:<arbitrary height>px
以防止出现该问题。但现在我有另一个问题,滚动条会剪切溢出列表的一些垂直空间以为滚动条本身腾出空间,这会强制水平滚动条显示为能够显示剪切区域。
我该怎么做才能防止列表宽度的滚动条剪裁部分?谢谢。
附注如果您有更好的问题标题,请告诉我。我很难过。
最佳答案
我快速浏览了一下,注意到您的“a”标签同时具有 padding:5px 和 width:100%;这会导致它们呈现为 (100% + 10px),其中 10px 始终位于滚动条后面。
所以为了让容器正确地拥有 100% 的宽度,尝试给“a”标签 padding:5px 0;并给出 padding:5px;到垂直下拉菜单。
希望它有意义。
以下是我所做的更改:http://jsfiddle.net/XxasC/10/ 您需要修复由添加的填充引起的一些问题。
结论:永远不要给一个元素同时提供“width:100%”和“padding-left/right”,因为它会呈现得比 100% 宽! (填充总是添加到宽度 - 甚至 100%)
关于html - 使用 overflow-y 时防止垂直剪辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6631266/