Фиксированный заголовок таблицы
Вопрос состоит в следующем:
Как заставить заголовок/1ю строку таблицы быть фиксированной, что бы она не прокручивалась вместе со всей таблицей, если таблица выходит за границы видимости например diva ? Типо как в Exсel... Интересует именно таблица, т.к. через фикс ширину столбцов не подходит... П.С. я не мастак верстки но этот вопрос мучает давно уже. |
position:fixed?
|
Цитата:
|
|
ие и FF, а остальные ? Разве нет кросса?
|
Мараторий,
Изврат. |
http://www.webreview.org.ua/?id=3&ac...etail&ar_id=39
А вообще, гугл: "таблица с прокруткой html" |
разве что убить скролл страницы, растянуть таблицу по высоте и добавить для <tbody> скролл через overflow:auto;
|
Увы, сейчас я далеко от десктопного браузера (и пьян), но на словах:
У обвертки ставим релейтив оверфлоу: скролл, внутри каждой ТэАш'ки заголовка - див с абсолютом. Результат: таблица прокручивается, а её заголовки позиционируются от обвертки. |
Цитата:
|
Хоть я и не мастак верстки, но элегантное кросс решение все же сделал =)
|
Цитата:
|
Попросили вылижить мое решение. Решение элегантное потому что таблица становится не такой как ее привыкли видеть
П.С. могут быть проблемы в ИЕ6. А так решение кроссбраузерное вроде. Недостаток: Столбцы заголовка по центру без JS не выровнять.Зато плюс большой: как не крути размеры .block таблица выглядит нормально, если конечно размеры не меньше минимальной ширины заголовка. Тогда заголовок вылезает заширину таблицы
<style type='text/css'>
.block {
width:80%;
height: 100px;
position: absolute;
top: 20px;
overflow: visible;
}
.scroll {
width: 100%;
height: 100%;
overflow: auto;
}
.head.fixed {
height: 20px;
top: -20px;
position: absolute;
background: LemonChiffon;
border-bottom: 1px solid black;
width: 100%;
}
.table {
border-collapse: collapse;
}
.table td { border: 1px solid gray; border-top: 0px;}
tr.head td { height:0; }
tr.head td .st {
white-space: nowrap;
position: absolute;
top: -20px;
height: 20px;
border-left: 1px solid gray;
line-height: 20px;
padding-left: 10px;
margin-left: -1px;
}
tr.head td .or { white-space: nowrap; height:0; overflow: hidden; padding-left: 10px;}
</style>
<div class='block'>
<div class="scroll">
<div class="head fixed"></div>
<table cellpadding="0" cellspacing="0" class="table">
<tr class='head'>
<td width="100"><div class='st'>Столб</div><div class='or'>Столб</div></td> <!-- должны быть одинаковые значениея для авто подгонки столбцов по заголовкам -->
<td><div class='st'>Столбец 2 длинный</div><div class='or'>Столбец 2 длинный</div></td>
<td><div class='st'>Столбец 3 очень длинный </div><div class='or'>Столбец 3 очень длинный</div></td>
</tr>
<tr>
<td>Жили были дед да бабка был у них колобок. А также дед еще рыбку золотую любил ловить</td>
<td></td>
<td>Жили были дед да бабка был у них колобок. А также дед еще рыбку золотую любил ловить</td>
</tr>
<tr>
<td>Жили были дед да бабка был у них колобок. А также дед еще рыбку золотую любил ловить</td>
<td></td>
<td>Жили были дед да бабка был у них колобок. А также дед еще рыбку золотую любил ловить</td>
</tr>
<tr>
<td>Жили были дед да бабка был у них колобок. А также дед еще рыбку золотую любил ловить</td>
<td></td>
<td>Жили были дед да бабка был у них колобок. А также дед еще рыбку золотую любил ловить</td>
</tr>
<tr>
<td>Жили были дед да бабка был у них колобок. А также дед еще рыбку золотую любил ловить</td>
<td></td>
<td>Жили были дед да бабка был у них колобок. А также дед еще рыбку золотую любил ловить</td>
</tr>
<tr>
<td>Жили были дед да бабка был у них колобок. А также дед еще рыбку золотую любил ловить</td>
<td></td>
<td>Жили были дед да бабка был у них колобок. А также дед еще рыбку золотую любил ловить</td>
</tr>
<tr>
<td>Жили были дед да бабка был у них колобок. А также дед еще рыбку золотую любил ловить</td>
<td></td>
<td>Жили были дед да бабка был у них колобок. А также дед еще рыбку золотую любил ловить</td>
</tr>
</table>
</div>
</div>
|
дубль
|
Вообще, можно джаваскриптом решить достаточно просто. Нужно лишь посчитать ширину столбцов таблицы и потом применить это к заголовку. Рабочий пример - фиксированный заголовок таблицы
|
| Часовой пояс GMT +3, время: 05:47. |