Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: таблица с прокруткой
 
 автор: niki   (09.04.2007 в 21:02)   письмо автору
 
 

Добрый вечер.
Мне необходимо сделать таблицу, в которой первая строка фиксирована, а послеующие прокручиваются.
Я нашла
position: absolute; TOP: expression(offsetParent.scrollTop);
Но у меня это не работает.
Спасибо за любую подсказку.

   
 
 автор: SHAman   (09.04.2007 в 21:09)   письмо автору
 
   для: niki   (09.04.2007 в 21:02)
 

Я бы делал так:


<table>
...здесь шапка и все
</table>
<div style="overflow: scroll; width: 200px; height: 200px;">
<table>
....Здесь содержимое
</table>
</div>

   
 
 автор: niki   (09.04.2007 в 21:13)   письмо автору
 
   для: SHAman   (09.04.2007 в 21:09)
 

Мне необходимо, чтобы щапка таблицы и ее содержимое были вместе.
Иначе сдвигаются колонки.

   
 
 автор: SHAman   (09.04.2007 в 21:15)   письмо автору
 
   для: niki   (09.04.2007 в 21:13)
 

Тогда я затрудняюсь... Можно попробовать нарушить структуру DOM и сделать так:


<table>
<tr>шапка</tr>
<div ....>
<tr>
контент
</tr>
</div>
</table>


Но это - моветон...

   
 
 автор: xuor   (10.04.2007 в 06:20)   письмо автору
 
   для: SHAman   (09.04.2007 в 21:15)
 

А если сделать внутри table ещё один table

<table> 
...здесь шапка и все 
<table> 
<div style="overflow: scroll; width: 200px; height: 200px;"> 
....Здесь содержимое 
</div> 
</table> 
</table> 


или


<table> 
<tr>
<td>
...здесь шапка и все 
</td>
</tr>
<tr>
<td>
<div style="overflow: scroll; width: 200px; height: 200px;"> 
....Здесь содержимое 
</div> 
</td>
</tr>
</table> 

   
 
 автор: CNT   (10.04.2007 в 09:59)   письмо автору
 
   для: niki   (09.04.2007 в 21:02)
 

Вариант для MS Explorer'a:
<head>
<script>
//задаёте
var Tleft = 40, Ttop = 40; //абсолютные координаты левого верхнего угла таблицы (в пикселах)
var Sheight = 300; //высоту скролла (в любых единицах)

onload = function ()
{
var TBL = document.getElementById ('myTable');
TBL.style.position = 'absolute';
var TBL_clone = TBL.cloneNode (1);
with (TBL.style) {left = Tleft; top = Ttop}
var DV = document.getElementById ('myDiv');
with (DV.style)
   {
   position = 'absolute';
   left = Tleft;
   height = Sheight;
   overflowY = 'scroll';
   top = TBL.rows (0).offsetHeight + Ttop;
   width = TBL.offsetWidth + (DV.offsetWidth - DV.scrollWidth);
   }
TBL.style.clip = 'rect (0 100% ' + TBL.rows (0).offsetHeight + ' 0)';
with (TBL_clone.style) {left = 0; top = TBL.rows (0).offsetHeight * (-1); width = '100%'}
DV.appendChild (TBL_clone);
document.body.style.visibility = 'visible';
}
</script>
</head>
<body style="visibility: hidden">
<!-- Не забываем прописать указанные ID для вашей таблицы и следующего за ней DIV'a -->

<table id="myTable" ...>
Ваша исходная таблица со всеми её строками, включая первую - шапку
</table>

<div id="myDiv" style="width: 100"></div>
...
</body>

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования