Фиксированный заголовок таблицы и первый столбец css/html
У меня есть таблица с большим количеством строк и столбцов. Но я бы хотел исправить заголовок и первый столбец. Вот картинка того что мне нужно.
Только розовая часть должна прокручиваться по горизонтали и вертикали, но остальные должны оставаться видимыми во время прокрутки. Мой стол в div. Во-первых, я должен использовать один стол или четыре (синий, красный, зеленый и розовый)?
Я написал эту скрипку:
Сначала я попытался исправить заголовок, но у меня ничего не получилось
#container thead {
position: fixed;
top: 0;
}
и как то так выбрать и исправить первый столбец
#container tbody tr td:first-child {
position: fixed;
left: 0;
}
но это не исправление в div, который обернуть мой стол. Может быть, мне понадобится JQuery или JavaScript?
Если кто-нибудь может помочь.
2 ответа
Может быть, вы ищете что-то вроде этого:
http://zurb.com/playground/playground/responsive-tables/index.html
Все, что вам нужно, это включить файлы JS и CSS и просто добавить class='responsive'
к вашему элементу таблицы.
Я пытался реализовать это с вашим кодом, но была некоторая проблема с rowspan, поэтому немного подправил его.
Я думаю, вы также хотели вертикальную прокрутку подобным образом. Дайте мне знать, если я должен помочь с этим?
Я решил ту же проблему только с одной таблицей и плагином DataTables с расширением FixedColumn. Вы можете увидеть демонстрацию расширения: http://datatables.net/release-datatables/extras/FixedColumns/
В моем решении у меня есть одна таблица, в разделе thead находятся строки, которые я хочу заморозить (вы можете выполнить rowspan для первой ячейки). И расширение FixedColumn заморозило первые два столбца для меня.
Плагин DataTables init, который я использовал:
duplicatesTable = $('.js-merge-duplicates-table').dataTable({
//I want standard table look - no DataTables features but frozen header
"bPaginate": false,
"bLengthChange": false,
"bFilter": false,
"bSort": false,
"bInfo": false,
"bAutoWidth": false,
"sScrollX": "100%",
"sScrollY": "500",
"bScrollCollapse": true
});
new FixedColumns(duplicatesTable, {
"iLeftColumns": 2, //maybe you would need only one column
"iLeftWidth": 350
});