粘性位置在容器中不起作用

时间:2019-02-18 19:26:25

标签: html css css-position sticky

我正在尝试将position:sticky添加到容器内部的导航div中。但是,仅当我移除容器或从容器上方的div移除高度时,它才起作用。 Here is a jsfiddle的问题。删除#main部分可以使粘性位置起作用,但我不知道为什么,在那里需要该部分。

body{
  height:2000px;
  background-color:red;
}
nav{
  width:100%;
  height:50px;
  background-color:black;
  z-index:1000;
  position:sticky;
  top:0;
}
#main{
  position:relative;
}
#some-div{
  position: relative;
  height:100vh;
  background-size:cover;
  overflow:hidden;
}
<section id="main">
  <div id="some-div"></div>
  <nav></nav>   
</section>

1 个答案:

答案 0 :(得分:0)

我在height:100%上添加了#main,因为父母应该有身高。

body{
  height:2000px;
  background-color:red;
}
nav{
  width:100%;
  height:50px;
  background-color:black;
	z-index:1000;
  position:sticky;
  top:0;
}
#main{
  position:relative;
  height:100%;
}
#some-div{
  position: relative;
	height:100vh;
	background-size:cover !important;
	overflow:hidden;
}
<section id="main">
  <div id="some-div"></div>
  <nav></nav>   
</section>