【问题标题】:html table fixed rows and columns when table contains different colSpans and rowSpans当表格包含不同的colSpan和rowSpan时,html表格固定行和列
【发布时间】:2013-12-30 21:54:00
【问题描述】:

Questions 关于fixed headers and columns 的解决方案很丰富,css/javascript/jQuery 的解决方案也很丰富。
不幸的是,nonesolutions work 当我有一张不同colSpans 和rowSpans 的桌子时;

那么,我们以这张表为例:

<table >
    <thead>
        <tr >
            <td rowspan="2" class="row-header">[Product.Color]</td><td rowspan="2" class="row-header">[Product.SizeUnitMeasureCode]</td><td >False</td><td >True</td>
        </tr><tr>
            <td >True</td><td >True</td>
        </tr>
    </thead><tbody>
        <tr>
            <td rowspan="2" class="row-header">Blue</td><td class="row-header"></td><td >225.49</td><td ></td>
        </tr><tr>
            <td class="row-header">CM </td><td ></td><td >23790.17</td>
        </tr><tr>
            <td class="row-header">Grey</td><td class="row-header"></td><td >125</td><td ></td>
        </tr><tr>
            <td class="row-header">Multi</td><td class="row-header"></td><td >478.92</td><td ></td>
        </tr><tr>
            <td rowspan="2" class="row-header">Yellow</td><td class="row-header"></td><td >215.96</td><td ></td>
        </tr><tr>
            <td class="row-header">CM </td><td ></td><td >34311.33</td>
        </tr>
    </tbody>
</table>

(fiddle) (生成以下内容: )

(是的,您可能注意到我在这里谈论的是数据透视表 :))。

我希望在垂直滚动表格内容时保留列标题部分(灰色背景),并在垂直滚动时保留行标题部分(红色文本)。

有什么想法吗? (任何 css / jQuery / javascript 解决方案都将被接受:))

【问题讨论】:

  • Google 'jQuery 可滚动表格',因为有很多可供选择。
  • @jeff 显然我已经做到了。正如您在这个问题的第一句话中看到的那样,我还没有找到任何符合我所有要求的插件(一些插件也已链接到)
  • @sJhonny colSpanrowSpan 使得对齐和定位表格的固定部分(标题/列)变得更加困难,因为有很多组合可能会在定位时破坏计算固定部分。我的第一个代码版本能够与colSpan 对齐,但是在尝试不同的场景时出现了一些问题。 jsfiddle.net/rCuPf/7

标签: javascript jquery html css html-table


【解决方案1】:

我尝试使用 position: fixed 为你的头,它可以工作,但是:

  • 我需要 2 个表格,因为您的 tbody 结构与 thead 位置不同:仅固定。因此,我只制作了第一个表,并且在第二个表中我有相同的标题,但没有固定以获得相同的 tbody 结构。

我无法为您解决的问题是,固定的头饰与 tbody 的宽度不同。

&lt;thead style="position:fixed;"here is fiddle

【讨论】:

  • 我想到了类似 [secoundthead] opacity:0;以及一个将第一个表的宽度设置为 2 的 js。table
猜你喜欢
  • 2013-03-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-07
  • 1970-01-01
  • 1970-01-01
  • 2015-09-21
  • 1970-01-01
相关资源
最近更新 更多