[HTML] Одинаковые <TD>

Разговоры на любые темы: вы можете обсудить здесь какой-либо сайт, найти единомышленников или просто пообщаться...
Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

[HTML] Одинаковые <TD>

Сообщение Хакер » 19.01.2007 (Пт) 14:05

Я почти уверен, что такое сделать на голом HTML (без JS и прочего), наверное невозможно.

Но всё же (т.к. надежда уходит последней) поднимаю этот топик.

Итак задача:
Мы имеел один HTML документ, назовём его парентом. На этом паренте есть IFRAME, который отображает второй HTML документ - назовём его чилдом.

Чилд представляет из себя только таблицу. Т.е. ничего кроме таблицы в чилде нет - даже все отступы установлены в 0. Таблица эта больше чем высота ИФРЕЙМА, поэтому отображается вертикальная полоса прокрутки, которая даёт возможность прокручивать эту таблицу.

Так вот, я бы хотел сделать как то FixedRows для этой таблицы, т.е. некоторое подобие Header-ов как у ListView например. Единственный варинат, который пришёл мне в голову: сделать эту шапку не в чилде, а в паренте,. прямо перед ИФРЕЙМОМ.

Проблема: Дело в том, что колонок у этой таблицы много - примерно 7-10, и поставить им одинаковый width я ручками могу. Но вот если какая-то запись в какой-то ячейке будет длинная и растянет одну из колонок (особенно нехорошо будет - если растянута будет первая), то буде не хорошо :)

Вопрос: Как синхронизировать ширину TD-ов таблицы в чилде, с TD-ами таблицы в паренте перед ИФРЕЙМОМ.

Я думаю, я понятно объяснил суть проблему. Если что то непонятно - спрашивайте.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

_ae_
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 165
Зарегистрирован: 08.10.2006 (Вс) 14:37

Сообщение _ae_ » 19.01.2007 (Пт) 14:34

Чилд представляет из себя только таблицу.
А может прямо над этой таблицей(в iframe) сделать фиксированный div?

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 19.01.2007 (Пт) 14:35

И что, он не будет прокручиваться что-ли?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

_ae_
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 165
Зарегистрирован: 08.10.2006 (Вс) 14:37

Сообщение _ae_ » 19.01.2007 (Пт) 14:36

сделай так что бы не прокручивался

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 19.01.2007 (Пт) 14:39

Каким образом?
position:absolute ?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 19.01.2007 (Пт) 14:43

Попробовал.

Нет, он всё равно прокручивается. К тому же проблема прокрутки не решает главной проблемы - синхронизации ширины.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

_ae_
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 165
Зарегистрирован: 08.10.2006 (Вс) 14:37

Сообщение _ae_ » 19.01.2007 (Пт) 14:48

<div style="left: 80px; width: 100px; position: fixed ; top: 144px; height: 10px;">Я не буду прокручиваться в нормальном броузере</div>

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 19.01.2007 (Пт) 14:50

Сейчас попробуй. Но уже сейчас я могу сказать, что как мне кажется, ДИВ будет тупо находится над таблицей. Это не есть гуд. К тому же главня проблема опять не решена - как сделать так, чтобы колонки таблицы внутри дива были такими же, как и колонки во второй таблице?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

_ae_
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 165
Зарегистрирован: 08.10.2006 (Вс) 14:37

Сообщение _ae_ » 19.01.2007 (Пт) 14:53

как сделать так, чтобы колонки таблицы внутри дива были такими же, как и колонки во второй таблице?
Выставить фиксированные размеры у колонок и у элементов в диве?
Но уже сейчас я могу сказать, что как мне кажется, ДИВ будет тупо находится над таблицей
А тебе что надо?

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 19.01.2007 (Пт) 14:54

Если тебе всего лишь нужен html-аналог грида, то прекрати терзать ифрейм. И совсем без скриптов не получится.
Код: Выделить всё
div.ClassList
{
   display:block;
   OVERFLOW: auto;
   height:100%;
}

table.list
{
   TABLE-LAYOUT: fixed;
}

table.list th
{
   Z-INDEX: 2;
   POSITION: relative;
   TOP: expression(ParentDiv(this).scrollTop-2);
}

function ParentDiv(el) {
   if(el.parentElement.tagName=="DIV"){
      return(el.parentElement)
   }else{
      return(ParentDiv(el.parentElement))
   }
}

<div class=ClassList>
   <table width="100%" class=list>
      <thead>
         <tr>
            <th>Заголовок 1</th>
            <th>Заголовок 2</th>
         </tr>
      </thead>
      <tbody>
         <tr>
            <td>х1</td>
            <td>х2</td>
         </tr>
         <tr>
            <td>х1</td>
            <td>х2</td>
         </tr>
         <tr>
            <td>х1</td>
            <td>х2</td>
         </tr>
      </tbody>
   </table>
</div>
И еще, это работает только в IE из-за TOP: expression.
Лучший способ понять что-то самому — объяснить это другому.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 19.01.2007 (Пт) 14:55

Antonariy
Нужен именно HTML аналог грида с фиксированными строкамм (для хеадрера). Однако ифрейм терзать нужно, потому как в ифрейме отображается список файлов, генерируемый другим скриптом.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

_ae_
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 165
Зарегистрирован: 08.10.2006 (Вс) 14:37

Сообщение _ae_ » 19.01.2007 (Пт) 14:58

И еще, это работает только в IE
Я бы сказал что это повод не использовать такой код в не интранетовских сайтах.
Хакер
А что мешает вставлять данные другого скрипта в таблицу сразу на этапе генерации той страницы, где должен находится грид?

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 19.01.2007 (Пт) 15:01

Ифрейм сделан из соображения: не перезагружать основную страницу для обновления списка файлов.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 19.01.2007 (Пт) 15:01

вот:
Вложения
iframe scroll.zip
(548 байт) Скачиваний: 149

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 19.01.2007 (Пт) 15:07

Ага. Вот так, как утебя - оно сделано у меня сейчас.


А я опасаюсь этого: (см. прилож. к постингу)
Вложения
iframe scroll.rar
(528 байт) Скачиваний: 146
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 19.01.2007 (Пт) 15:12

<td width=20%>

для всех TD

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 19.01.2007 (Пт) 15:12

Ифрейм сделан из соображения: не перезагружать основную страницу для обновления списка файлов.
А AJAX для чего придумывали умные дядьки? Однако дело твое. Хочешь ифрейм - юзай ифрейм. Можешь кстати грузить в него весь див с таблицей и заголовками.

Не поленился оформить пример. Одно непонятно - в примере хедеры подрагивают, а в проге, где используется эта фишка, сидят как влитые.
Вложения
HTMLPage1.rar
(724 байт) Скачиваний: 150
Лучший способ понять что-то самому — объяснить это другому.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 19.01.2007 (Пт) 15:14

Konst_One
Не спасёт. Если текст длиннный всё равно растягивать будет.

Antonariy а чем то что я делаю не Ajax :wink: ?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 19.01.2007 (Пт) 15:17

ничего нерастягивается 8)
проверь

PS
может расстянуться, если будет длинное слово :cry:

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 19.01.2007 (Пт) 15:19

Тем, что ты не изменяешь динамически с сервера контент той же страницы, а грузишь новую в ифрейм. Ифрейм фактически это отдельное окно броузера. Такой Ajax я еще лет 5 назад юзал.

Кстати, отрыл таки ссылку с которой содрал свой пример:
http://web.tampabay.rr.com/bmerkey/exam ... n-csv.html
Лучший способ понять что-то самому — объяснить это другому.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 19.01.2007 (Пт) 15:27

Таки растягивается.

См. приложение.
Вложения
smp2.rar
Открывать файл test1.htm
(1006 байт) Скачиваний: 143
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 19.01.2007 (Пт) 15:29

Konst_One писал(а):PS
может расстянуться, если будет длинное слово :cry:


Хех :) Добавил в последний момент.

А я о чём и говорю.
Проблема: Дело в том, что колонок у этой таблицы много - примерно 7-10, и поставить им одинаковый width я ручками могу. Но вот если какая-то запись в какой-то ячейке будет длинная и растянет одну из колонок (особенно нехорошо будет - если растянута будет первая), то буде не хорошо
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 19.01.2007 (Пт) 16:23

попробуй поиграться со стилем:
word-wrap:break-word;

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 19.01.2007 (Пт) 16:32

Если он вздумает переносить строки, то будет ещё хуже :D

мне надо чтобы при растягивании колонки одной таблицы (из-за длинной строки), также растягивалась колонка верхней таблицы.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

ACiD
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 261
Зарегистрирован: 10.12.2005 (Сб) 2:29
Откуда: г. Санкт - Петербург

Сообщение ACiD » 19.01.2007 (Пт) 18:10

Могу предложить
такой вариант, правда
с с границами туфта выходит:

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 19.01.2007 (Пт) 18:16

Перечитай ещё раз топик, и пойми какой бред ты выложил :?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Oxygen
Белая и пушистая
Белая и пушистая
Аватара пользователя
 
Сообщения: 1314
Зарегистрирован: 15.07.2003 (Вт) 7:14
Откуда: Москва

Сообщение Oxygen » 20.01.2007 (Сб) 13:07

На JScript укладывается в пару десятков строк кода...

P.S. Это как повод к размышлению... Не гемороиться, а заюзать скрипт...
Процедура клонирования завершена.
Коррекция имплантированного сознания соответствует принятым алгоритмам.
Уникальный идентификатор скопирован в чип временного паспорта.
Активация прав гражданина ожидается в течение 24 часов

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 20.01.2007 (Сб) 15:02

Oxygen

Да.. наверное придётся. Просто у меня был такой подход - делать всё без скриптов, чтобы на у максимального числа пользователей всё работало. Хотя, юзая IFRAME я свой подход уже нарушаю :)
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.


Вернуться в Народный треп

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 35

    TopList  
cron