【发布时间】:2018-02-13 18:41:29
【问题描述】:
我不确定这是否允许,但我的问题实际上可以分为两部分:
底部标题应显示底部框阴影,但不是因为背景和 z-index(如果我是正确的)。
container应占据剩余可用屏幕高度的 100%。如果container right中的内容较长,则同时拉伸container和container right。container left应始终为 100% 剩余可用高度,留在屏幕上,如果内容对于容器来说太长,则显示滚动条。
正如你在下面的情况截图中看到的,目前我也做不到。
如何解决这两个问题?我一直在尝试各种解决方案,但似乎都没有 100% 有效。
请注意,有一定的分层顺序:
容器 > 页眉 + 页脚 > 侧面板 > 模态
情况如下:Codepen example
为了简洁起见,我只在此处包含了相关代码。
HTML:
<div class="header-box-shadow">Header 1</div>
<div class="header-box-shadow">Header 2</div>
<div class="header-box-shadow">Header 3</div>
<div class="header-box-shadow">Header 4</div>
<div class="container">
<div class="content">
<div class="left">container left</div>
<div class="right">container right</div>
</div>
</div>
<div class="footer">footer</div>
<div class="sidepanel">sidepanel</div>
<div class="modal">modal</div>
SCSS:
.header-box-shadow {
&:last-of-type {
box-shadow: 0 2px 4px rgba(0, 0, 0, .3);
position: relative;
z-index: 100000;
}
}
.container {
display: flex;
flex-direction: column;
.content {
flex: 1 1 auto;
display: flex;
.left {
height: 100%;
}
.right {
flex: 1 1 auto;
}
}
}
.footer {
position: fixed;
bottom: 0;
left: 0;
}
.sidepanel {
height: 100%;
position: fixed;
top: 0;
right: 0;
}
.modal {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
【问题讨论】:
-
你的问题不清楚。请更新,以便我们更好地理解。
-
试图让我的问题更清楚@AniruddhAgarwal,有帮助吗?
-
经过深思熟虑后,我决定删除我的答案。由于固定定位的
footer和sidepanel似乎具有动态高度/宽度,因此您需要一个脚本来使它们与您的Flexbox 布局一起播放。如果可以设置它们的高度/宽度,则可以使用 CSS 解决方案。 -
根据下面答案中的评论,我假设您想要一个粘性
footer,对吗? ...如果您解释sidepanel与其余部分的关系,我将发布正确的答案。 -
是的,页脚确实很粘。侧面板是一个幻灯片,因此唯一的要求是它在调用时出现在除模式之外的所有内容之上。对于定位等,这已经处理好了。