HTML <div>订购

时间:2018-02-02 07:12:43

标签: html css

我的html页面中有两个div,我希望它们一个接一个地出现。这是我的html页面的结构:

<html>
<body>
<div id="navigationBar"></div>
<div id="afterNav"></div>
</body>
</html>

第一个div是导航栏,所以我将其位置设置为fixed。我希望第二个div显示在导航栏下方,但是在加载页面时它会出现在导航栏上方。 afterNav div从body / html的左上角开始。我试着玩位置属性,但不是很成功。如何让第二个div出现在第一个div之后?以下是我的css:

html, body{
    height:100%;
    width:100%;
    margin:0px;
    margin:0;
    font-family: "Helvetica" , "Arial", sans-serif;
    font-size: 1rem;
    color: #212529;
}

#navigationBar{
    display:block;
    position:fixed;
    background-color: black;
    width:100%; 
    height:70px;
    z-index:0;
}

#afterNav{
    position:relative;
    z-index:-1;
}

2 个答案:

答案 0 :(得分:1)

如果您将第一个div(navigationBar)设置为fixed,那么您需要在顶部填充以设置外部div位置。

如果导航高度为70px,则需要设置外部div填充顶部70px。

split()

你也可以使用margin-top。

答案 1 :(得分:0)

您需要将其移至固定导航下方:

#navigationBar{
    z-index:1;
}
#after-nav{
    margin-top:70px
    z-index:0;
}

当你有一个position:fixed;元素时,该元素将位于其下方的任何元素之上,并具有较低的z-index。

我也会改变z索引,所以你不会有-1。