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

CSS Grid父容器横向溢出问题:粘性列被挤出视口原因咨询

问题原因

你给col1设置的sticky left-0,其粘性定位的参照对象是父级的grid容器,而非外层带w-screen overflow-x-auto的滚动容器。

当横向滚动时,grid容器本身会在滚动容器内向左偏移,一旦grid容器的左侧边缘超出视口,col1的left-0是相对于grid容器的左侧而非视口左侧,所以它会跟着grid容器一起被挤出视口。

解决办法

要让col1固定在视口左侧,得让它的粘性定位参照外层滚动容器。可以调整结构,把col1和其他列的容器拆分,让col1直接作为滚动容器的子元素:

<div className="w-screen overflow-x-auto flex">
  <div className="sticky left-0 bg-green-200 w-[100px]">col1</div>
  <div className="grid grid-cols-[repeat(6,_100px)] bg-blue-200">
    <div>col2</div>
    <div>col3</div>
    <div>col4</div>
    <div>col5</div>
    <div>col6</div>
    <div>col7</div>
  </div>
</div>

如果想保留原有grid结构,也可以给grid容器添加min-width: fit-content,但这种方式在部分场景下存在兼容性问题,拆分结构的方式更稳妥。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 02:16:05