Div 100% 高度滚动

Posted

技术标签:

【中文标题】Div 100% 高度滚动【英文标题】:Div 100% height scroll 【发布时间】:2013-11-14 11:52:38 【问题描述】:

在我的页面上,左侧有一个导航栏,其高度为 100%,宽度为 25%。 它工作正常,但是当有可用的滚动时,它会破坏背景,并使其看起来很难看。我认为的原因是 100% 高度仅适用于活动窗口。 即使用户正在滚动,让 div 始终保持 100% 高度的诀窍是什么?

导航的CSS:

    width:25%;
    height:100%;
    float:left;
    color:#999999;

我试过 position:absolute 没有结果,也试过 clear 两者。 需要帮助:)

Fiddle

【问题讨论】:

【参考方案1】:

使用min-height: 100% 而不是height: 100% 应该可以解决它。在此处查看更新的小提琴:http://jsfiddle.net/zitrusfrisch/Sa6cb/3/

【讨论】:

这似乎可行,但是当我这样做时,我失去了 sidenav 上的滚动,这是我希望保留的。有人对此有任何想法吗? 我想我们永远不会知道 当内容超过视口高度时,设置 min-height: 100%height: auto 对我有用。【参考方案2】:

如果您希望元素占据 100% 的屏幕,请使用 min-height: 100vh 如果您希望它占用 100% 的父元素,请使用 min-height: 100%

【讨论】:

【参考方案3】:

当我想在网页顶部构建一个不透明的叠加层时,我遇到了类似的问题。覆盖仅覆盖浏览器窗口的高度,而不是页面的总滚动高度。我转向 javascript 来动态获取页面高度。

$('body').append('<div style="width:100%;height:'+document.documentElement.scrollHeight+'px;background:#000000;opacity:0.5;position: absolute;top: 0;z-index: 1000;"></div>')

【讨论】:

【参考方案4】:

我宁愿使用:

   height: 100%;
   overflow: auto;

【讨论】:

以上是关于Div 100% 高度滚动的主要内容,如果未能解决你的问题,请参考以下文章

为固定的 100% 高度 div 创建可滚动内容

iframe 高度100%时,出现垂直滚动条

Firefox 100% 高度和自动滚动 div 问题

子高度为可滚动父内容高度的 100%

让两个 div 共享同一个滚动条?

html 怎么去掉网页的滚动条