[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Таблица с фиксированной шапкой, выровнять столбцы
Undertaker
В интернете полно информации про таблицу с фиксированной шапкой, но ни в одном из решений я не заметил что бы размер заголовков совпадал с размером столбцов. А может кто нибудь подсказать решение что бы не устанавливая столбцам определённого значения таблица выглядела ровно т.е. не по пацански, а что бы ширина заголовка была в уровень с содержимым?
Вот код:
Стиль:
table.scrollable > tbody#tb {
height: 100px;
overflow: scroll;
}
table.scrollable td,
table.scrollable th {
border: 1px solid #ccc;
width: 50px;
}
.hack {
height: 72%;
overflow: auto;
width: auto;
}

php код
 <div id="container" style="position:fixed; width: 100%;">
<
table width="100%" border="1" background="images/fon.jpg" style="border-collapse: collapse; border: 2px solid PowderBlue;" id="scr" class="scrollable" cellpadding="0" cellspacing="0">
<
thead>
<
tr>
<
td rowspan="3" align="center" style="border: 1px solid blue;">№ п.п.</td>
<
td rowspan="3" align="center" style="border: 1px solid blue;">Обоснование</td>
<
td rowspan="3" align="center" style="border: 1px solid blue;">Наименование</td>
<
td rowspan="3" align="center" style="border: 1px solid blue;">Ед.изм</td>
<
td colspan="2" align="center" style="border: 1px solid blue;">Количество</td>
<
td colspan="5" align="center" style="border: 1px solid blue;">Стоимость еденицы</td>
<
td colspan="5" align="center" style="border: 1px solid blue;">Общая стоимость</td>
<
td colspan="2" align="center" style="border: 1px solid blue;">ТЗ</td>
<
td colspan="2" align="center" style="border: 1px solid blue;">ТЗМ</td>
<
td rowspan="3" align="center" style="border: 1px solid blue;">Идентификатор</td>
<
td rowspan="3" align="center" style="border: 1px solid blue;">Код индекса</td>
</
tr>
<
tr>
<
td rowspan="2" align="center" style="border: 1px solid blue;">На ед.</td>
<
td rowspan="2" align="center" style="border: 1px solid blue;">Всего</td>
<
td rowspan="2" align="center" style="border: 1px solid blue;">Всего</td>
<
td colspan="4" align="center" style="border: 1px solid blue;">В том числе</td>
<
td rowspan="2" align="center" style="border: 1px solid blue;">Всего</td>
<
td colspan="4" align="center" style="border: 1px solid blue;">В том числе</td>
<
td rowspan="2" align="center" style="border: 1px solid blue;">На ед.</td>
<
td rowspan="2" align="center" style="border: 1px solid blue;">Всего</td>
<
td rowspan="2" align="center" style="border: 1px solid blue;">На ед.</td>
<
td rowspan="2" align="center" style="border: 1px solid blue;">Всего</td>
</
tr>
<
tr>
<
td align="center" style="border: 1px solid blue;">Основ з.п.</td>
<
td align="center" style="border: 1px solid blue;">Эксп. маш.</td>
<
td align="center" style="border: 1px solid blue;">З.п. мех</td>
<
td align="center" style="border: 1px solid blue;">Матер.</td>
<
td align="center" style="border: 1px solid blue;">Основ з.п.</td>
<
td align="center" style="border: 1px solid blue;">Эксп. маш.</td>
<
td align="center" style="border: 1px solid blue;">З.п. мех</td>
<
td align="center" style="border: 1px solid blue;">Матер.</td>
</
tr>
</
thead>
<
tbody id="tb">';

for ($i=0; $i<=100; $i++){
echo '
<tr>
<
td colspan="22" style="background: #696969;"><img src="images/plas.jpg "alt="альтернативный текст"></img>Установка отопительных приборов №'.$i.'</td>
</
tr>';
echo '
<tr><td>1</td>';
echo '
<td>2</td>';
echo '
<td>3</td>';
echo '
<td>4</td>';
echo '
<td>5</td>';
echo '
<td>6</td>';
echo '
<td>7</td>';
echo '
<td>8</td>';
echo '
<td>9</td>';
echo '
<td>10</td>';
echo '
<td>11</td>';
echo '
<td>12</td>';
echo '
<td>13</td>';
echo '
<td>14</td>';
echo '
<td>15</td>';
echo '
<td>16</td>';
echo '
<td>17</td>';
echo '
<td>18</td>';
echo '
<td>19</td>';
echo '
<td>20</td>';
echo '
<td>21</td>';
echo '
<td>22</td></tr>';
}
echo '
</tbody>
</
table>';
echo '
</div>';

Скрипт:
if(typeof document.getElementById != 'undefined'){
window.onload= function () {
var c = document.getElementById('container');
var t = document.getElementById('scr');
var tc = t.cloneNode(true);
t.tHead.style.display='none';
tc.tBodies[0].style.display='none';
c.parentNode.insertBefore(tc, c);
c.className = 'hack';
c.style.width = t.offsetWidth + c.offsetWidth - c.clientWidth + 'px'
}
}

Несмотря на то что всё это одна таблица, ширина заголовков и столбцов не совпадает, посоветуйте что нибудь (не хотелось бы прибегать к фиксации столбцов((()

_____________
Из отчета службы безопасности:
... по поводу взлома китайцами сервера Пентагона:
1) Каждый китаец попробовал один пароль.
2) Каждый второй пароль был - maodzedun.
3) На 657983241-й попытке сервер согласился что у него пароль - maodzedun
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.