1

我试图用 html 构建一个 ui。

  1. 导航栏应保持在顶部
  2. 导航栏下方的一些视频和其他内容应该在视频上滚动(现在它是棕色框)。
  3. 天蓝色框(用于侧面导航)应停止在导航框下方,粉红色框(内容框)应继续滚动。

问题 :

  1. 滚动后,粘性导航框向上滚动,并且
  2. 天蓝色框不会停在导航框下方。请查看codepen并帮助我.... html

body,
html {
  height: 100%;
  width: 100%;
  margin: 0;
}

.container {
  display: flex;
  position: relative;
  top: 400px;
  border-top: 4px solid black;
}

.box1 {
  /* height:500px; */
  position: sticky;
  top: 50px;
  width: 40%;
  background-color: aqua;
  border: 2px solid grey;
}

.box2 {
  height: 1000px;
  width: 60%;
  background-color: pink;
}

.nav {
  position: sticky;
  top: 0;
  background-color: blue;
  z-index: 1000;
  height: 50px;
}

.image-con {
  position: fixed;
  background-color: brown;
  border: 2px solid yellow;
  height: 500px;
  width: 100%;
  z-index: -1000;
}
<div class="nav"></div>

<div class="image-con"></div>

<div class="container">
  <div class="box1"></div>
  <div class="box2"></div>
</div>

https://codepen.io/mbs-yaswanth/pen/yZOLXQ

4

1 回答 1

1

消除

body,html{
        height: 100%;
}

一旦您的粘性导航到达您的 html 和正文的底部,它就不再具有粘性了。它似乎向后移动页面,但它实际上只是没有跟随你通过溢出。希望这可以帮助。 编辑
我认为这就是你要找的我改变了你的代码,所以仔细检查一下。由于某种原因,当您运行代码段框 2 时,它会变小,但它可以在全页预览中使用。希望这可以帮助

body,
html {
  width: 100%;
  margin: 0;
}

.box1 {
  height:500px; 
  position: sticky;
  top: 50px;
  width: 39%;
  vertical-align: top;
  display: inline-block;
  background-color: aqua;
  border: 2px solid grey;
}

.box2 {
  display: inline-block;
  height: 1000px;
  width: 60%;
  background-color: pink;
}

.nav {
  position: sticky;
  top: 0;
  background-color: blue;
  z-index: 1;
  height: 50px;
}

.image-con {
  background-color: brown;
  border: 2px solid yellow;
  height: 500px;
  width: 100%;
}
<div class="nav"></div>

<div class="image-con"></div>

<div class="box1"></div>

<div class="box2"></div>

于 2019-01-26T21:15:20.927 回答