css - 有一个固定位置的 div,如果内容溢出则需要滚动

标签 css scroll css-position overflow

我实际上有两个问题,但让我们先解决主要问题,因为我认为另一个更容易解决。

我在菜单滚动的左侧有一个固定位置的 div。右侧是一个可以正确滚动的标准 div。问题是当浏览器视口(viewport)太小而看不到整个菜单时.. 没有办法让它滚动我能找到的(至少不能用 css)。我试过在 css 中使用不同的溢出,但没有任何东西使 div 滚动。包含菜单的 div 设置为 min-height:100% 和 position:fixed.. 我需要保留这两个属性。

包含菜单的 div 位于另一个绝对定位且高度设置为 100% 的包装 div 中。

如果内容对于 div 而言太高,我如何让它垂直滚动?

这让我想到了另一个问题,我不想显示滚动条..但我想我可能已经有了答案(只是它还没有用,因为我无法获得div 开始滚动)。

有什么解决办法吗?也许需要javascript? (对此我知之甚少)

JS Fiddle Example

以及导致问题的相关代码(因为在这里发布整个内容太长了):

.fixed-content {
    min-height:100%;
    position:fixed;
    overflow-y:scroll;
    overflow-x:hidden;
} 

还尝试添加 height:100% 以查看这是否是一个问题,但它也不起作用......也没有固定高度,例如 600px。

最佳答案

使用 height:100% 的问题在于它将成为页面的 100%,而不是窗口的 100%(正如您可能期望的那样)。这将导致您看到的问题,因为非固定内容足够长以包含 100% 高度的固定内容,而无需滚动条。浏览器不知道/不在乎您实际上不能向下滚动该栏以查看它

您可以使用fixed 来完成您想要做的事情。

.fixed-content {
    top: 0;
    bottom:0;
    position:fixed;
    overflow-y:scroll;
    overflow-x:hidden;
}

你的 fiddle 的这个分支显示了我的修复: http://jsfiddle.net/strider820/84AsW/1/

关于css - 有一个固定位置的 div,如果内容溢出则需要滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16094785/

相关文章:

javascript - 在 <li> <span> 列表中多次显示无

css - 让外部 div 使用 css 滚动过去内部的 div

css - 将 H2 居中略高于它的父 div?

javascript - 检测 WordPress 中的浏览器下载错误

html - 将元素固定到顶部

html - 无尽/无限滚动的可用性

css - 使用 Chrome Devtools 滚动性能监控 - 透明条

javascript - fullpage.js插件的刷新问题

css - Zurb Foundation 中的重叠 div

javascript - asp.net 如何在悬停鼠标时弹出 div?