【问题标题】:Sticky Div inside HorizontalScrollViewHorizo​​ntalScrollView 内的粘性 div
【发布时间】:2021-01-31 17:32:23
【问题描述】:

我正在构建一个基于水平滚动视图的网站,这是由移动交互和粘性部分组成的。在这个粘性部分中,我想放置一个粘性 div,然后,当您水平滚动时,一个 div 保持粘性,同时您水平滚动。

有一个例子: https://studiochevojon.com/

在这个网站中,你可以水平滚动并在确定的时刻拥有一个粘性 div。

有我的webflow项目:https://preview.webflow.com/preview/designfeelings?utm_medium=preview_link&utm_source=dashboard&utm_content=designfeelings&preview=1bd0bbb81feac58ef0d75e3ee82d61d0&mode=preview

有人可以解释一下这是如何工作的吗?我尝试了所有水平滚动教程,但我不知道如何使它起作用。

谢谢大家。

【问题讨论】:

  • 只需使用sticky属性:position: sticky并给它一个left: 0;的位置。这样,如果它到达左屏幕边框,它就会粘在那里。
  • 好的,但是当移动交互处于活动状态时有效?因为我照你说的做了,但没用。

标签: html css webflow


【解决方案1】:

要保持粘性,div 需要样式:position: sticky;。然后它需要一个 broder ti 实际上应该坚持的位置(顶部、底部、左侧和/或右侧)和距离(%、vw/vh、px ...)。就像在这个例子中

body {
  margin: 0;
  padding: 0;
}

#wrapper {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 500vw;
  display: flex;
  background-color: red;
}

.page {
  width: 100vw;
  padding: 5px;
}

#one {
  background-color: yellow;
}

#two {
  background-color: green;
}

#three {
  background-color: grey;
}

#sticky {
  display: flex;
  position: sticky;
  left: 0;
  width: 100vh;
  background-color: blue;
  padding: 5px;
}
<div id="wrapper">
  <div class="page" id="one">I'm page 1</div>
  <div class="page" id="two">I'm page 2</div>
  <div id="sticky">I'm the Sticky Box</div>
  <div class="page" id="three">I'm page 3</div>
</div>

【讨论】:

  • 是的,没错,但我的水平滚动是基于屏幕中 x 与粘性容器的移动交互,所以我不知道这是否有效
  • 是的,它也应该可以工作。粘性应该防止盒子离开定义的边界。
  • 它仍然不起作用,当我移动内容时,粘性 div 没有粘住,你可以看到我的预览网页什么时候实现但仍然不起作用,我不知道该怎么办我会尝试你的代码并尝试在水平移动中复制,然后看看它是否有效
猜你喜欢
  • 2014-07-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多