Css 无绝对位置的单页网页

Css 无绝对位置的单页网页,css,position,singlepage,Css,Position,Singlepage,有没有办法让单页网站没有绝对位置?因为当我想改变容器的高度时,绝对位置有点尴尬。我的意思是,当我向一个容器中插入更多内容时,它上面的另一个容器应该向下移动。我试过静态和相对定位,但对我来说不起作用 现在我的css看起来像: <style> #header {position: absolute; top: 0; left: 0; width: 100%; height: 20%;} #main {position: absolute;

有没有办法让单页网站没有绝对位置?因为当我想改变容器的高度时,绝对位置有点尴尬。我的意思是,当我向一个容器中插入更多内容时,它上面的另一个容器应该向下移动。我试过静态和相对定位,但对我来说不起作用

现在我的css看起来像:

        <style>
        #header {position: absolute; top: 0; left: 0; width: 100%; height: 20%;}
        #main {position: absolute; top: 20%; left: 0; width: 100%; height: 80%;}
    #about {position: absolute; top: 100%; left: 0; width: 100%; height: 100%;}
#contact {position: absolute; top: 200%; left: 0; width: 100%; height: 50%;}
    </style>

    <body>
    <div id="header">
    content....
    </div>

    <div id="main">
    content...
    </div>

    <div id="about">
    long content which is covered with next div, because its "top" atribute settings
    </div>

<div id="contact">
div which covers previous one's end
</div>

#标题{位置:绝对;顶部:0;左侧:0;宽度:100%;高度:20%;}
#主{位置:绝对;顶部:20%;左侧:0;宽度:100%;高度:80%;}
#关于{位置:绝对;顶部:100%;左侧:0;宽度:100%;高度:100%;}
#触点{位置:绝对;顶部:200%;左侧:0;宽度:100%;高度:50%;}
内容。。。。
内容。。。
下一个div涵盖的内容很长,因为它的“顶部”atribute设置
覆盖上一个人末端的div
但当一些容器需要更长的时候,问题就在这里


谢谢你的帮助

这取决于你网站的风格。当然,你可以设置锚,并有一个单页滚动的网站,但我不认为这回答了你的问题

我的建议是尝试使用绝对定位元素作为容器,并将实际模板放在其中


如果您提供了一些实际的代码或您遇到的特定问题,这会有所帮助,因为它目前太模糊了。

我将回答您可能提出的问题,尽管不清楚。我希望这不是太基本

完全放弃position属性

只需在html的顶部有一个div(默认为100%宽度)作为标题。内容应位于该目录下的另一个div中


默认情况下,div的宽度为100%,其高度取决于其内容的高度。它们将增长以适应更高的内容。这些行为是因为它们具有属性display:block。

您使用了%,如果我没记错的话,它是相对于父元素的。vh(视口高度)相对于屏幕高度(100vh是屏幕的全高)。 我添加了背景色,只是为了更容易看到

<style>
#header {
    background-color: #777;
    height: 20vh;
}
#main {
    background-color: #999;
    height: 80vh;
}
#about {
    background-color: #777;
    height: 100vh;
}
#contact {
    background-color: #999; 
    height: 50vh;
}
</style>

#标题{
背景色:#777;
高度:20vh;
}
#主要{
背景色:#999;
高度:80vh;
}
#关于{
背景色:#777;
高度:100vh;
}
#接触{
背景色:#999;
高度:50vh;
}

请更加具体,尽可能缩小您的问题范围,以获得真正的解决方案help@user1533609我用一些代码进行了编辑。我需要有可变顶边距和高度的容器,我不明白。你知道html流的基本知识吗?将100%宽度的容器放在顶部,最小高度为20%(可能是其父容器的20%),这样,当您在容器中放入更多内容时,容器可以扩展。我不清楚为什么要首先使用绝对定位。当我像我在这里编写的代码中的示例那样设置所有容器时,当文本长度超过设置的高度时,它不会显示为全尺寸,因为下一个容器的上边距覆盖了它。它与定位一起工作!但是现在背景只覆盖了内容的空间,而不是像绝对位置那样覆盖了div的其余高度。请问我怎样才能修好这个?(很抱歉提出这些基本问题)它与什么定位一起工作?亲戚?你是说“没有定位”吗?您的代码和问题均未提及任何背景;这是现在唯一的问题吗?如果是这样,请更新您的问题,以便我们了解发生了什么。我在所有div上设置了背景色,当我运行您提供的代码时,它们没有重叠。您也可以使用minheight而不是height。如果需要的话,它会让它扩展得更大