如何独立于"thead"滚动表格的"tbody"?

Mis*_*hko 58 html javascript css

如此处所述:

表行可以分别使用THEAD,TFOOT和TBODY元素分组为表头,表脚和一个或多个表体部分.这种划分使用户代理能够独立于桌面和桌脚支持滚动桌面.

我创建了以下示例,但它不起作用.

HTML:

<table>
    <thead>
        <tr>
            <td>Problem</td>
            <td>Solution</td>
        </tr>
    </thead>
    <tbody>
    </tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

JS:

$(function() {
    for (var i = 0; i < 20; i++) {
        var a = Math.floor(10 * Math.random());
        var b = Math.floor(10 * Math.random());
        var row = $("<tr>").append($("<td>").html(a + " + " + b + " ="))
                           .append($("<td>").html(a + b));
        $("tbody").append(row);
    }
});
Run Code Online (Sandbox Code Playgroud)

CSS:

table {
    background-color: #aaa;
}
tbody {
    background-color: #ddd;
    height: 100px;
    overflow: auto;
}
td {
    padding: 3px 10px;
}
Run Code Online (Sandbox Code Playgroud)

boo*_*sey 46

缺少的部分是:

thead, tbody {
    display: block;
}
Run Code Online (Sandbox Code Playgroud)

演示

  • 是的,如果添加几列,很明显它们不再对齐:http://jsfiddle.net/nyCKE/2136/ (19认同)
  • 这不是一个好的解决方案.它打破了表格布局. (11认同)
  • 这在IE中不起作用,IE有什么解决方案吗? (9认同)
  • @kdubs肯定打破了东西.只是看看这里[在这个jsbin第一个差异直接可见](http://jsbin.com/oyoyov/3/edit)所以基本上一些表特定的属性只是打破.这个解决方案是一个黑客攻击. (8认同)
  • 将桌头/身体的显示从"桌子"改为阻挡的缺点是什么? (3认同)
  • 使用此方法,colspan变得无法使用 (3认同)