为什么 position:sticky with left:0 在可滚动容器内不工作? [英] Why isn't position:sticky with left:0 working inside a scrollable container?
问题描述
我遇到了这个问题 - 我有一个包含一些行的容器,每行都有一个粘性左列,然后是多个其他列.现在在下面的示例中,这会起作用一段时间,但是当您滚动父容器时,位置粘性不再起作用,并且在您滚动时它会被推动.
.container {溢出-x:滚动;}.排 {显示:弹性;宽度:100%;}.物品 {最小宽度:173px;}.sticky {最小宽度:250px;位置:粘性;左:0;背景:红色;}
<div class="row"><div class="itemsticky">STICKY ROW 1</div><div class="item">1</div><div class="item">2</div><div class="item">3</div><div class="item">4</div><div class="item">5</div><div class="item">6</div><div class="item">7</div><div class="item">8</div><div class="item">9</div><div class="item">10</div><div class="row"><div class="itemsticky">STICKY ROW 2</div><div class="item">1</div><div class="item">2</div><div class="item">3</div><div class="item">4</div><div class="item">5</div><div class="item">6</div><div class="item">7</div><div class="item">8</div><div class="item">9</div><div class="item">10</div>
<div class="row"><div class="itemsticky">STICKY ROW 3</div><div class="item">1</div><div class="item">2</div><div class="item">3</div><div class="item">4</div><div class="item">5</div><div class="item">6</div><div class="item">7</div><div class="item">8</div><div class="item">9</div><div class="item">10</div>
有什么办法可以解决这个问题吗……或者还有其他方法可以解决这个问题吗??
我想要的结果是能够将粘性 div 粘在左侧 0
并让其他列滚动到下方..
现在我知道如果 overflow-x: scroll
在实际的 .row
元素上,它会按预期工作..但我可能有 100 多行所以滚动需要在父容器上
添加边框以更好地查看与使用块级元素和width:100%
的限制相关的问题(不是你设置的没用的,而是块元素的默认行为)
.container {溢出-x:滚动;}.排 {显示:弹性;边框:1px 实心;}.物品 {最小宽度:173px;}.sticky {最小宽度:250px;位置:粘性;左:0;背景:红色;}
<div class="row"><div class="itemsticky">STICKY ROW 1</div><div class="item">1</div><div class="item">2</div><div class="item">3</div><div class="item">4</div><div class="item">5</div><div class="item">6</div><div class="item">7</div><div class="item">8</div><div class="item">9</div><div class="item">10</div><div class="row"><div class="itemsticky">STICKY ROW 2</div><div class="item">1</div><div class="item">2</div><div class="item">3</div><div class="item">4</div><div class="item">5</div><div class="item">6</div><div class="item">7</div><div class="item">8</div><div class="item">9</div><div class="item">10</div>
<div class="row"><div class="itemsticky">STICKY ROW 3</div><div class="item">1</div><div class="item">2</div><div class="item">3</div><div class="item">4</div><div class="item">5</div><div class="item">6</div><div class="item">7</div><div class="item">8</div><div class="item">9</div><div class="item">10</div>