поэтому мне пришлось создать аналогичный компонент для моей работы. ( Примечание: по общему признанию, я сделал это с jQuery, но это все еще может быть достигнуто без него.)
Решение, которое я придумал, было похожим, и я подумал, что поделюсь им, поскольку оно намного проще
http://jsfiddle.net/YYaFr/6/
По сути, вы оборачиваете table
в div
, копируете его (таблицу) и делаете первый просто таблицей заголовков (удаляя tbody
) и позиционируете его как абсолютное.
<div class="containerdiv">
<table class="headerTable">
<colgroup>
<col /> * number of columns
....
</colgroup>
<thead>
<th></th>
....
</thead>
</table>
<table class="dataTable">
<colgroup>
<col /> * number of columns
....
</colgroup>
<thead>
<th></th>
....
</thead>
<tbody>
<td></td>
....
</tbody>
</table>
</div>
и КСС
div.containerDiv
{
height: 300px; // Whatever height you need. can be set inline if you wish
}
div.containerDiv table.headerTable
{
position: absolute;
}
div.containerDiv table.dataTable thead
{
visibility: hidden; // This gives the header table room so it doesn't hide the first row.
}
Затем JavaScript в основном создает colgroups
(или вы можете сгенерировать их на стороне сервера, если вам нужно.) Устанавливает ширину и альт. В моей голове это кажется намного проще, так что давай проверим jsfiddle.