Css 强制绝对定位div不重叠

Css 强制绝对定位div不重叠,css,positioning,Css,Positioning,我有一个标题栏,使用position:absolute和我似乎无法让它与我的内容重叠 以下是我在示例中使用的html: <div class="ui-page ui-page-active"> <div class="ui-header"> <div class="ui-title ui-title-h1"> Page Title 1 </div> </div>

我有一个标题栏,使用
position:absolute和我似乎无法让它与我的内容重叠

以下是我在示例中使用的html:

<div class="ui-page ui-page-active">
    <div class="ui-header">
        <div class="ui-title ui-title-h1">
            Page Title 1
        </div>
    </div>
    <div class="ui-content">
        <a href="#pg-two">Page Two</a>
    </div>
    <div class="ui-footer">
        <div class="ui-title ui-title-h3">
            Page Footer 1
        </div>
    </div>
</div>

我的最终目标是让页眉栏始终位于顶部,页脚栏始终位于底部,内容填充在中间。content div实际上不需要填充100%,我只是不希望它被页眉或页脚阻止

一个简单的方法是将.ui内容上的padding top或margin top(我不确定是哪一个)设置为页眉的高度,这会将.ui内容向下推,以避免重叠。

一个简单的方法是将.ui内容上的padding top或margin top(我不确定是哪一个)设置为页眉的高度,如果页眉和页脚的高度是固定的(例如“80px”),则可以使用上下页边距(位置:绝对;溢出-y:滚动;顶部:80px;底部:80px;)使内容绝对,并使页眉和页脚固定(位置:固定;高度:80px;顶部:0;左侧:0;右侧:0;溢出:隐藏;对于页眉和位置:固定;高度:80px;底部:0;左侧:0;右侧:0;溢出:隐藏;对于页脚)


类似的方法可能会起作用。

如果页眉和页脚是固定高度(例如“80px”),则可以使用上下页边距(位置:绝对;溢出-y:滚动;顶部:80px;底部:80px;)使内容绝对,并使页眉和页脚固定(位置:固定;高度:80px;顶部:0;左侧:0;右侧:0;溢出:隐藏;对于页眉和位置:固定;高度:80px;底部:0;左侧:0;右侧:0;溢出:隐藏;对于页脚)


类似的方法可能会奏效。

我希望不必这样做。没有显示属性组合可以让我完成我想要做的事情?有几种方法可以完成您正在尝试做的事情,我说的是最简单的方法。另一种方法是将所有div浮动到左侧,然后页眉将保留到左侧p、 另一种方法是绝对定位ui内容,可能还有十几种方法可以做到。但我不知道有什么神奇的组合可以防止它们重叠。顶部填充/边距有什么问题?没什么。你知道什么时候你脑子里有了想法。你想做一些没有或有特定内容的事情吗在criteria中..但是没有真正的理由为什么?我希望不必这样做。没有显示属性组合允许我做我想要做的事情?有几种方法可以完成你正在尝试做的事情,我说的是最简单的方法。另一种方法是将所有div浮动到左侧,然后标题将是的。另一种方法是绝对定位ui内容,可能还有十几种方法。但我不知道有什么神奇的组合可以防止它们重叠。顶部填充/边距有什么问题?没什么。当你脑子里有了想法时,你就知道了。你想做一些没有或没有的事情吗一个特定的标准。但没有真正的理由为什么?整个东西应该完全适合浏览器窗口的大小吗?100%宽度,100%最小高度|但高度可以扩展到+100%视口。这将在移动设备上查看。整个东西应该完全适合浏览器窗口的大小吗?100%宽度,100%最小高度|但高度可以扩展到+100%视口。这将在移动设备上查看。
html,body {
    height: 100%;
    width: 100%;
    margin: 0;
    padding: 0; 
}
.ui-page {
    background-color: #bbb;
    height: 100%;
    width: 100%;
    display: block;
    position: relative;
}
.ui-page-inactive {
    display: none;  
}
.ui-page-active {
    display: block; 
}
.ui-header {
    position: absolute;
    top: 0;
    background-color: #000;
    width: 100%;
    display: inline-block;
}
.ui-content {

}
.ui-footer {
    position: absolute;
    bottom: 0;
    background-color: #000;
    width: 100%;
    display: inline-block;
}
.ui-title {
    text-align: center;
    color: #fff;
    padding: 4px;
    line-height: 150%;
}
.ui-title-h1 {
    font-size: 1.5em;
    font-weight: 900;
}