Css 将中间容器放置在前面容器的正后方,但停靠在底部

Css 将中间容器放置在前面容器的正后方,但停靠在底部,css,internet-explorer,google-chrome,html,position,Css,Internet Explorer,Google Chrome,Html,Position,我有一个网页,它由页眉、滑动菜单内容和页脚组成 我需要内容从菜单开始(菜单大小和位置取决于上面的元素,取决于设备),并且它应该始终从底部到页脚重叠25px <style> div { border: 3px solid black; height: 300px; width: 100%; position: absolute; bottom: 25px; } </style>

我有一个网页,它由页眉、滑动菜单内容和页脚组成

我需要内容从菜单开始(菜单大小和位置取决于上面的元素,取决于设备),并且它应该始终从底部到页脚重叠25px

<style>
    div {
        border: 3px solid black;
        height: 300px;
        width: 100%;
        position: absolute;
        bottom: 25px;
    }
</style>
<div></div>
如果我试图使它相对,它挂在中间,不会到达终点,如果我使它绝对,我必须指定它应该从哪个值开始,它是动态的

有没有一种有效的方法可以做到这一点

更新
我不介意使用jQuery,只要内容的顶部是动态的,并且依赖于前面的元素,不管它是什么

更新
这是我所需要的一个抽象的例子

页脚应始终锚定在底部(稍后我将应用粘性页脚技术,这里我的问题是内容),页眉、滑块和菜单锚定到上面的元素,内容应锚定到上面的元素和页脚。


<style>
    div {
        border: 3px solid black;
        height: 300px;
        width: 100%;
        position: absolute;
        bottom: 25px;
    }
</style>
<div></div>
div{ 边框:3倍纯黑; 高度:300px; 宽度:100%; 位置:绝对位置; 底部:25px; }
你的客户不太清楚你到底想要什么。所以我做了一些假设。 (如果我假设错误,所有这些假设都可以更正)

假设:

*
{
    padding: 0;
    margin: 0;
}

.scollableContent
{
    position: absolute;
    top: 0;
    bottom: 25px; /*.footer height*/
    overflow: auto;
}
.scollableContent:before
{
    content: '';
    height: 100%;
    float: left;
}
.header
{
    /*Addition*/
    background-color: red;
}
.main
{
    /*Addition*/
    background-color: yellow;
}
    .main:after
    {
        content: '';
        display: block;
        clear: both;
    }

.footer
{
    position: fixed;
    width: 100%;
    bottom: 0px;
    height: 25px;

    /*Addition*/
    color: white;
    background-color: blue;
}
  • 标题应随内容滚动。(如果需要,可以更改该行为)
  • 滚动条只能应用于“内容区”。(如果需要,可以更改该行为)
  • 内容包装器应该始终延伸到页面的末尾,即使物理内容小于页面的末尾。并且只有当物理内容大于可用空间时才应该有滚动。(如果需要,可以更改该行为)
  • [如您所见,所有这些行为都可以使用正确的CSS进行更改]

    这是一个

  • 这是一个纯CSS解决方案。(如果可以,我总是避免使用脚本)
  • 跨浏览器(在IE10、IE9、IE8、Chrome、FF上测试)
  • HTML:(我为可滚动内容添加了一个包装器)

    说明:
    .footer
    固定在视图端口底部,高度固定。并跨越整个视图端口宽度

    .scollableContent
    绝对位于视图端口顶部和页脚顶部之间的所有空间。具有自动溢出功能,允许在内容大于可用空间时滚动

    .scollableContent
    中,我们为标题提供了一个简单的块元素,它将跨越他的内容高度。在他之后,内容本身有另一个块元素。 现在,我们希望内容始终拉伸到容器的末端,而不考虑标题高度(因此,我们无法将其应用于固定高度)

    我们使用浮动和清除技术来实现这一点。 我们在
    .scollableContent
    之前创建了一个浮动元素,没有内容(因此它是不可见的,实际上根本不在任何地方),但高度为100%

    在content div的末尾,我们用
    clear
    指令创建一个块。 现在:此新块不能与浮动元素位于同一行中。因此,他必须向下移动,同时拖动content div

    编辑: 您可能会在网站的某个现有容器中使用此解决方案。(而不是整个网站的布局)。 我已经更新了小提琴,使其内容被封装在一个容器中。这样,您将更容易将此解决方案移植到您的工作网站


    这是正在处理的

    @NaveedButt,但问题仍然存在。@Shimmy将页脚向上拉,使main具有比页脚更大的
    z-index
    @Vucko示例中的页脚更改大小。另外,我不想在容器中隐藏大小,无论里面有什么东西,它都必须固定在顶部和底部。@Shimmy改变大小是什么意思?页脚的大小是固定的还是动态的?你的问题中不清楚页脚。页脚的大小是固定的CSS将元素设置为距页面底部25像素。但是页脚的顶部呢?这就是这里的全部问题。你没有给我们代码来工作,所以帮助就是暗中刺伤。有关表格,请参见上面我的另一个答案。我基本上是这样做的:,我需要页脚锚定到底部,页眉等。停靠到上面的元素,内容-停靠到底部和上面的元素。@Shimmy为什么不从页脚中删除
    固定的
    ?只有页脚是可滚动的,标题滑块和菜单上下移动。你自相矛盾。也许你的意思是只有页脚是固定的。顺便说一句:我的解决方案怎么样?看起来很有希望。不幸的是,我只能在下午测试它。很明显,我会让你知道的。如果你能解释的话,是不是
    之后的
    “填充”了
    容器
    div?请在我的答案中添加解释。