【发布时间】:2016-10-06 15:22:05
【问题描述】:
我有一个带有半透明图像的 div 元素,位置:固定,顶部:0,左侧:0 和高度:100%。 在那个 div 下我有可变数量的元素。
当元素数量足够大时,浏览器滚动条会显示,但由于固定的 div “覆盖”它们,因此无法滚动元素。
我怎样才能使固定 div 下的滚动成为可能?
代码:
CSS:
.vcBodyShadow{
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background-color:rgba(128, 128, 128, 0.80);
z-index:1;
}
#VCBody{
position:relative;
height:100%;
width:100%;
overflow:auto;
}
.vcElementContainer {
display:flex;
align-items:center;
justify-content:space-around;
flex-wrap: wrap;
height: $height;
width:$width;
overflow:hidden;
position:relative;
z-index:2;
background-color:lighten($default_blue,44%) !important;
min-height:100px;
}
".vcBodyShadow" 是固定的 div,带有要在 #VCBody 上显示的阴影图像。
“#VCBody”是主容器。
“.vcElementContainer”是元素的容器,在#VCBody里面。
元素将显示在阴影上方,VCBody 将在其下方显示其他 html 代码。
而 Jquery 则在带有所有元素的“#VCBody”上显示阴影:
$("#VCBody").prepend("<div class='vcBodyShadow'></div>");
HTML:
<html>
<body>
<div id="VCBody">
<div class="vcElementContainer"></div>
<div class="vcElementContainer"></div>
...
</div>
</body>
</html>
【问题讨论】:
-
你的代码是???? ...不可能知道问题出在您的代码中。这工作jsfiddle.net/fvushnho
-
滚动条是出现在页面元素上还是整个页面本身?例如,如果滚动条位于
div上,并且您在上面有一个固定的 div,您将无法聚焦下面的 div - 因此,您无法滚动它。但是,100% 高度和 100% 宽度的固定 div 不应中断 页面 滚动。 -
是的,滚动条对应一个包含所有元素的 div 容器。我添加了一些代码以便更好地解释。