css - 仅使用 CSS 的粘性侧边栏(无 javascript)

标签 css sticky

我想只使用 CSS 制作一个带有粘性侧边栏的布局。我正在尝试使用 position: sticky 来做到这一点,但就是无法正常工作。 =(

考虑到我的布局上有两列 - 主要内容(橙色)和侧边栏(绿色) - 当主要内容高度很长且需要滚动时,我无法将侧边栏放在底部。

http://jsfiddle.net/pcwudrmc/74799/

为了更好地说明我想要实现的目标,我附上了这张 gif。 enter image description here

请注意,在我向下滚动到侧边栏底部(绿色)后,它将跟随主要内容,直到到达主要内容的底部。黑色方 block 是视口(viewport)。

编辑:我上传了一个包含整个交互的新动画。

最佳答案

你想要这个吗?

.container {
  display: flex;
  flex-flow: row nowrap;
}

.main-content {
  border: 4px solid orange;
  height: 1000px;
}

.sidebar {
  border: 4px solid green;
  height: 300px;
  position: sticky;
  top:0;
}
<div class="container">
  <div class="main-content">Main content</div>
  <div class="sidebar">Sidebar</div>
</div>

关于css - 仅使用 CSS 的粘性侧边栏(无 javascript),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53905636/

相关文章:

javascript - 对于移动屏幕,如何从上到下移动一个 div?

css - 如何使我的右框正确 float ...?

html - box-shadow blur-radius 造成左右阴影

css - 动画提交按钮

java - 为 java/spring/maven 应用程序组合和压缩 javascript/css 的不显眼方式?

html - Pure CSS Sticky Horizo​​ntal Subnav - 下拉菜单不显示

javascript - 如何在 React Native 中的水平 ScrollView 中放置粘性 Touchable?

html - 如何将图像放置在两个 div/容器之上?

javascript - 粘性侧边栏 - 停在元素处?

html - 设置其他元素左侧的 float 后,位置粘性不起作用