You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让sticky div始终固定在容器可视区域右侧?

解决方案

可以实现,只需给.sticky类添加margin-left: auto属性,同时保留原有的position: sticky和right: 0即可。

修改后的CSS代码

#container {
  overflow: scroll;
  display: flex;
  width: 100%;
  flex-direction: row;
  max-width: inherit;
  background-color: azure;
}

.item {
  min-width: 30px;
  min-height: 90px;
  background-color: green;
  border: 1px solid white;
}

.sticky {
  background-color: orange;
  position: sticky;
  right: 0;
  margin-left: auto; /* 新增属性 */
}

效果说明

  • 当容器内item数量足够多(超出容器宽度)时,滚动容器,.sticky元素会始终固定在可视区域右侧,不会随滚动消失。
  • 当容器内item数量不足时,margin-left: auto会自动把.sticky元素推到容器最右侧,不会停留在起始位置。

完整示例代码

<div id="container">
  <div class="item sticky"></div>
</div>
<div id="container">
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item sticky"></div>
</div>

内容的提问来源于stack exchange,提问作者JSmith

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 01:20:27