javascript - 表格滚动上的两个固定标题 - 添加边框

标签 javascript jquery html css frontend

一直在努力处理这个有两个需要在滚动时固定的标题的表格。 我非常接近令人满意的结果,尽管当我滚动时,我想让标题边框可见,以避免在标题的行之间显示数据。

HTML

<div class="table-fix-head">
  <table class="table cogs cogs_feature" id="multi-header-table">
    <thead>
      <tr class="titles">
        <th colspan="4" class="title-cogs">JobItems COGS </th>
        <th colspan="4" class="subtitle">COGS - Estimated Time</th>
        <th colspan="4" class="subtitle">COGS - Actual Cost</th>
        <th colspan="1" class="title-cogs"></th>
      </tr>
      <tr>
        <th> Client/Project </th>
        <th> Job
        </th>
        <th> Job Items
        </th>
        <th> Status </th>
        <th class="cogs-vertical-line"> Lead</th>
        <th> Interview</th>
        <th> Writer</th>
        <th> Edit</th>
        <th> Lead</th>
        <th> Interview</th>
        <th> Writer</th>
        <th> Edit</th>
        <th> Weekly Budget </th>
      </tr>
    </thead>
    <tbody>
        <tr>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
                    <td>test</td>
          <td>test</td>
                    <td>test</td>
          <td>test</td>
        </tr>
                <tr>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
                    <td>test</td>
          <td>test</td>
                    <td>test</td>
          <td>test</td>
        </tr>
                <tr>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
                    <td>test</td>
          <td>test</td>
                    <td>test</td>
          <td>test</td>
        </tr>
                <tr>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
                    <td>test</td>
          <td>test</td>
                    <td>test</td>
          <td>test</td>
        </tr>
                <tr>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
                    <td>test</td>
          <td>test</td>
                    <td>test</td>
          <td>test</td>
        </tr>
                <tr>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
                    <td>test</td>
          <td>test</td>
                    <td>test</td>
          <td>test</td>
        </tr>
                <tr>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
                    <td>test</td>
          <td>test</td>
                    <td>test</td>
          <td>test</td>
        </tr>
                <tr>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
                    <td>test</td>
          <td>test</td>
                    <td>test</td>
          <td>test</td>
        </tr>
                <tr>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
                    <td>test</td>
          <td>test</td>
                    <td>test</td>
          <td>test</td>
        </tr>
                <tr>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
                    <td>test</td>
          <td>test</td>
                    <td>test</td>
          <td>test</td>
        </tr>
                <tr>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
                    <td>test</td>
          <td>test</td>
                    <td>test</td>
          <td>test</td>
        </tr>
                <tr>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
                    <td>test</td>
          <td>test</td>
                    <td>test</td>
          <td>test</td>
        </tr>
                <tr>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
                    <td>test</td>
          <td>test</td>
                    <td>test</td>
          <td>test</td>
        </tr>
                <tr>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
                    <td>test</td>
          <td>test</td>
                    <td>test</td>
          <td>test</td>
        </tr>
                <tr>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
          <td>test</td>
                    <td>test</td>
          <td>test</td>
                    <td>test</td>
          <td>test</td>
        </tr>
    </tbody>
  </table>
</div>

CSS

.table-fix-head { 
  overflow-y: scroll; height: 290px; 
}

table #multi-header-table {
  display: table;
  border-collapse: collapse;
  width: 100%;
}

#multi-header-table th {
  padding-top: 12px;
  padding-bottom: 12px;
  background-color: #0c6ac1;
  color: white;
  border: 2px solid black;
 }

JS

  var $th = $('.table-fix-head').find('thead th')
  $('.table-fix-head').on('scroll', function() {
    $th.css('transform', 'translateY('+ this.scrollTop +'px)');
  });

如 fiddle 图所示,我目前的结果:

https://jsfiddle.net/x7zatqL1/1/

最佳答案

我想这就是您要找的:

   thead {
  background-color: white;
}

关于javascript - 表格滚动上的两个固定标题 - 添加边框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59148679/

相关文章:

javascript - 如果 url 是主页,则执行 jquery

javascript - 如何将外部网站链接到导入的 React src 图像?

jquery - 如果 div 包含单词 "example",则 addClass 对另一个 div 不显示任何内容

javascript - 从 json 文件转换 HTML 列表

Javascript:使用拖放在屏幕上重新排列 div

javascript - 在knockout.js中动态调用attr src上child的函数

javascript - 如何访问meteor.js中集合的元素?

javascript - 将变量放入 onclick 定义中是否安全?

javascript - 为什么我的背景图片在某个元素上没有变化?

html - 为什么多个 HTML 选择标签不显示在 DOM 中?