【问题标题】:How can I make the first and second column of a table sticky如何使表格的第一列和第二列具有粘性
【发布时间】:2011-10-07 07:12:19
【问题描述】:

我有一个带有属性的div

<div id="_body_container" style="height: 500px; overflow-x: auto; overflow-y: auto; ">
</div>`

在这个 div 里面我有 tableviews-table,这个表有 100% 的宽度,这使得它是父 div:_body_container 可滚动的。我想修复这个表的第一列和第二列粘性_body_container 发生左右滚动事件时,在他们的位置上

结构类似于:

【问题讨论】:

标签: javascript jquery css css-tables sticky


【解决方案1】:

假设每个部分都是一个&lt;td&gt; 元素...

CSS

table {
    position: relative;
    padding-left: (width-of-your-td-elements);
}
table td:first-of-type {
    position: absolute;
    left: 0;
}

试试看。已经很晚了,我喝醉了,所以我对此并不完全确定。哦,请记住,这是使用 CSS3,

如果可行,您只需将 position:absolute; left:0; 添加到 class 并以此方式定位第一个元素。

【讨论】:

  • 我已经试过这个了。如果位置相对于第一列是绝对位置,则它不再位于可滚动窗口内,整个页面都可以看到它的高度。
  • 这就是你在父元素上设置position: relative;的原因。
  • 我认为它的工作,需要一些修改。感谢您的关注
  • 是的,确实如此。如果还没有解决,我明天再解决。没问题!
  • 居然笑出声来“这么晚了,我喝醉了,所以我对此不太确定”。
【解决方案2】:

@vonkly 关于position:absolute 几乎是正确的。但您不必设置left:0。有了left:auto,你也可以备用position:relative

table {
    padding-left: (width-of-your-td-elements);
}

table td:first-of-type {
    position: absolute;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-03-26
    • 1970-01-01
    • 2018-03-10
    • 1970-01-01
    • 2021-12-16
    • 2014-12-24
    • 2022-11-08
    • 2015-02-06
    相关资源
    最近更新 更多