【问题标题】:Sticky header in table that scrolls right向右滚动的表格中的粘性标题
【发布时间】:2018-09-27 16:17:44
【问题描述】:

你能告诉我如何实现表格的粘性标题。它位于 div 中,溢出:自动并向右滚动。我支持 IE10+。

这是我的html

<div class='table-block'>
  <div class='table-header'>
      <div>
         header 1
      </div>
      <div>
         header 1
      </div>
      <div>
         header 1
      </div>      
      <div>
         header 1
      </div>
  </div>
    <div class='table-body'>
      <div>
         body 1
      </div>
      <div>
         body 1
      </div>
      <div>
         body 1
      </div>      
      <div>
         body 1
      </div>
  </div>
      <div class='table-body'>
      <div>
         body 1
      </div>
      <div>
         body 1
      </div>
      <div>
         body 1
      </div>      
      <div>
         body 1
      </div>
  </div>
      <div class='table-body'>
      <div>
         body 1
      </div>
      <div>
         body 1
      </div>
      <div>
         body 1
      </div>      
      <div>
         body 1
      </div>
  </div>
      <div class='table-body'>
      <div>
         body 1
      </div>
      <div>
         body 1
      </div>
      <div>
         body 1
      </div>      
      <div>
         body 1
      </div>
  </div>
      <div class='table-body'>
      <div>
         body 1
      </div>
      <div>
         body 1
      </div>
      <div>
         body 1
      </div>      
      <div>
         body 1
      </div>
  </div>
      <div class='table-body'>
      <div>
         body 1
      </div>
      <div>
         body 1
      </div>
      <div>
         body 1
      </div>      
      <div>
         body 1
      </div>
  </div>
      <div class='table-body'>
      <div>
         body 1
      </div>
      <div>
         body 1
      </div>
      <div>
         body 1
      </div>      
      <div>
         body 1
      </div>
  </div>
      <div class='table-body'>
      <div>
         body 1
      </div>
      <div>
         body 1
      </div>
      <div>
         body 1
      </div>      
      <div>
         body 1
      </div>
  </div>
      <div class='table-body'>
      <div>
         body 1
      </div>
      <div>
         body 1
      </div>
      <div>
         body 1
      </div>      
      <div>
         body 1
      </div>
  </div>
      <div class='table-body'>
      <div>
         body 1
      </div>
      <div>
         body 1
      </div>
      <div>
         body 1
      </div>      
      <div>
         body 1
      </div>
  </div>
      <div class='table-body'>
      <div>
         body 1
      </div>
      <div>
         body 1
      </div>
      <div>
         body 1
      </div>      
      <div>
         body 1
      </div>
  </div>
      <div class='table-body'>
      <div>
         body 1
      </div>
      <div>
         body 1
      </div>
      <div>
         body 1
      </div>      
      <div>
         body 1
      </div>
  </div>
      <div class='table-body'>
      <div>
         body 1
      </div>
      <div>
         body 1
      </div>
      <div>
         body 1
      </div>      
      <div>
         body 1
      </div>
  </div>
      <div class='table-body'>
      <div>
         body 1
      </div>
      <div>
         body 1
      </div>
      <div>
         body 1
      </div>      
      <div>
         body 1
      </div>
  </div>
      <div class='table-body'>
      <div>
         body 1
      </div>
      <div>
         body 1
      </div>
      <div>
         body 1
      </div>      
      <div>
         body 1
      </div>
  </div>
      <div class='table-body'>
      <div>
         body 1
      </div>
      <div>
         body 1
      </div>
      <div>
         body 1
      </div>      
      <div>
         body 1
      </div>
  </div>
      <div class='table-body'>
      <div>
         body 1
      </div>
      <div>
         body 1
      </div>
      <div>
         body 1
      </div>      
      <div>
         body 1
      </div>
  </div>
      <div class='table-body'>
      <div>
         body 1
      </div>
      <div>
         body 1
      </div>
      <div>
         body 1
      </div>      
      <div>
         body 1
      </div>
  </div>
      <div class='table-body'>
      <div>
         body 1
      </div>
      <div>
         body 1
      </div>
      <div>
         body 1
      </div>      
      <div>
         body 1
      </div>
  </div>
      <div class='table-body'>
      <div>
         body 1
      </div>
      <div>
         body 1
      </div>
      <div>
         body 1
      </div>      
      <div>
         body 1
      </div>
  </div>
      <div class='table-body'>
      <div>
         body 1
      </div>
      <div>
         body 1
      </div>
      <div>
         body 1
      </div>      
      <div>
         body 1
      </div>
  </div>
      <div class='table-body'>
      <div>
         body 1
      </div>
      <div>
         body 1
      </div>
      <div>
         body 1
      </div>      
      <div>
         body 1
      </div>
  </div>
      <div class='table-body'>
      <div>
         body 1
      </div>
      <div>
         body 1
      </div>
      <div>
         body 1
      </div>      
      <div>
         body 1
      </div>
  </div>
      <div class='table-body'>
      <div>
         body 1
      </div>
      <div>
         body 1
      </div>
      <div>
         body 1
      </div>      
      <div>
         body 1
      </div>
  </div>
      <div class='table-body'>
      <div>
         body 1
      </div>
      <div>
         body 1
      </div>
      <div>
         body 1
      </div>      
      <div>
         body 1
      </div>
  </div>
      <div class='table-body'>
      <div>
         body 1
      </div>
      <div>
         body 1
      </div>
      <div>
         body 1
      </div>      
      <div>
         body 1
      </div>
  </div>
      <div class='table-body'>
      <div>
         body 1
      </div>
      <div>
         body 1
      </div>
      <div>
         body 1
      </div>      
      <div>
         body 1
      </div>
  </div>
      <div class='table-body'>
      <div>
         body 1
      </div>
      <div>
         body 1
      </div>
      <div>
         body 1
      </div>      
      <div>
         body 1
      </div>
  </div>
</div>

这是我的css

    .table-block{
  overflow: auto;
}

.table-header{
  display: table;
  table-layout: fixed;
  width: 100%;
}

.table-header > div{
  display: table-cell;
  border: 1px solid;
  width: 1000px;
}

.table-body{
  display: table;
  table-layout: fixed;
  width: 100%;
}

.table-body > div{
  display: table-cell;
  border: 1px solid;
  width: 1000px;
}

我需要完全相同的标记。

请有人给我一个建议。

这里是最小复制的小提琴,请检查https://jsfiddle.net/kzmwtuhb/2/

【问题讨论】:

    标签: html css angular web


    【解决方案1】:

    我已经更新了你的 jsfiddle。我不确定我的解决方案是您正在寻找的。​​p>

    【讨论】:

    • 对不起,我正在寻找可以滚动表体和表头 шт syncron 的解决方案。在您的解决方案中,头部滚动与正文分开。
    猜你喜欢
    • 2020-10-15
    • 2020-11-24
    • 2018-09-24
    • 1970-01-01
    • 1970-01-01
    • 2021-06-16
    • 1970-01-01
    • 2016-04-30
    • 2020-04-11
    相关资源
    最近更新 更多