Forum Webscript.Ru

Дизайн и Верстка => Всё о Html => Тема начата: dub от 16 Января 2006, 20:30:38

Название: IE: <td style="width: ...">
Отправлено: dub от 16 Января 2006, 20:30:38
Совершенно дико ведет себя Internet Explorer 6.0 с резиновой таблицей при попытке зафиксировать ширину одной из ячеек.

Идея в том, чтобы создать простейшую таблицу формата:


__________________
|        11      |
|________________|
|   21      | 22 |
|___________|____|



при этом зафиксировав ширину ячейки 22. В ячейке 11 размещаем изображение шириной 100px, ширину ячейки 22 задаем = 250px.










""
2122



И все бы хорошо. Ячейка 22 действительно имеет нужную ширину. НО только до тех пор, пока ширина картинки   в 11 МЕНЬШЕ, чем ширина ячейки 22. Если картинке в 11 присвоить ширину БОЛЬШУЮ, чем 250 px, например:


...
""
...


то ширина ячейки 22 расползается совершенно необъяснимым образом.

Кто-нибудь сталкивался с подобным? Лечится ли это в принципе? Как посоветуете выкручиваться?

Заранее спасибо.
Название: IE: <td style="width: ...">
Отправлено: for_i_0 от 17 Января 2006, 07:43:13
dub
Просто задай ширину первой колонки.
Название: IE: <td style="width: ...">
Отправлено: dub от 17 Января 2006, 12:26:20
for_i_0
Цитировать
дико ведет себя Internet Explorer 6.0 с резиновой таблицей

То есть зафиксировать ширину первой колонки я не могу никак. Идея резиновой таблицы как раз и состоит в том, чтобы таблица растягивалась на весь экран, 22 имела фиксированную, а 21 - всю остальную ширину.
Название: IE: <td style="width: ...">
Отправлено: for_i_0 от 17 Января 2006, 13:33:14
dub
Хорошо, а вариант фиксации в процентах, ширину втрой колонки вас тоже не устраивает ?
Название: IE: <td style="width: ...">
Отправлено: dub от 17 Января 2006, 13:44:14
Вдогонку.

Таким образом ведут себя все доступные мне версии IE: 5.0, 5.5, 6.0.
Кроме того: Opera 7.11, Maxthon 1.5.2.

Кроме того, судя по всему это относится к любым блочным элементам, содержащимся в ячейке 11.

В частности, в следующем примере ширина ячейки 22 расползется, если для вложенной таблицы задать ширину 500:














a
2122

Название: IE: <td style="width: ...">
Отправлено: hanslinger от 17 Января 2006, 15:05:52
А если у левого сделать width="100%", а у правого — фиксированный?
Название: IE: <td style="width: ...">
Отправлено: y4an от 17 Января 2006, 18:07:34
как вариант сделать две таблицы, первую для картинки, вторую для столбцов, и обе растягивать на 100%
Название: IE: <td style="width: ...">
Отправлено: for_i_0 от 17 Января 2006, 21:41:16
hanslinger
Увы получится не то что мы ожидали увидеть... тоесть она займет 90 с лишним процентов(та у которой ширина растянута на 100%).
Название: IE: <td style="width: ...">
Отправлено: dub от 18 Января 2006, 14:28:28
Цитировать
for_i_0:
Хорошо, а вариант фиксации в процентах, ширину втрой колонки вас тоже не устраивает ?

Фиксация в процентах - это, конечно, хорошо.
Но я рассматриваю ситуацию, когда дизайн таки требует фиксированной ширины. Согласитесь, ситуация вполне вероятная.

Цитировать
y4an:
как вариант сделать две таблицы, первую для картинки, вторую для столбцов, и обе растягивать на 100%

Не совсем понял. Как именно?
Плюс, скорее всего, будут проблемы с Оперой.

Цитировать
hanslinger:
А если у левого сделать width="100%", а у правого — фиксированный?

Тогда левая ячейка расползается насколько может, ее ширина ограничивается только содержимым правой ячейки.
В принципе, такой подход можно использовать, задав левой ячейке достаточно большую ширину в процентах, а в правую поместив жесткую распорку, например так:
21

But i believe that to be a hack. Во всяком случае, назвать такое решение универсальным, непротиворечивым и полностью соответствующим стандартам сложно.
[OFF]Кстати, если не ошибаюсь, когда-то NN отрабатывал подобные конструкции крайне тупо: если одной ячейке задавалась высота/ширина 100%, то она и занимала высоту/ширину, равную ста процентам окна, а все остальные ячейки уезжали вниз/вправо за пределы окна.[/OFF]
Название: IE: <td style="width: ...">
Отправлено: for_i_0 от 19 Января 2006, 08:39:14
Цитировать
dub:
Не совсем понял. Как именно?
Плюс, скорее всего, будут проблемы с Оперой.














2122



Плюс грамотно прописанный CSS.
Название: IE: <td style="width: ...">
Отправлено: dub от 19 Января 2006, 13:53:14
for_i_0
Хм.. Проблема в том, что я хочу, чтобы вся эта конструкция занимала 100% не только ширины, но и высоты экрана. А не 100%+50px, как будет, если я присвою style="height: 100%" второй таблице.
Название: IE: <td style="width: ...">
Отправлено: y4an от 19 Января 2006, 19:03:51

img



несколько громоздко конечно
Название: IE: <td style="width: ...">
Отправлено: hanslinger от 19 Января 2006, 20:33:22
У тега нет атрибута «height».
Название: IE: <td style="width: ...">
Отправлено: y4an от 20 Января 2006, 16:28:56
но style="height: 100%" задать то можно
Название: IE: <td style="width: ...">
Отправлено: dub от 22 Января 2006, 14:01:51
Цитировать
y4an:

img




Насколько я понимаю, Вы предлагаете второй вложенной таблице опять таки задать style="height: 100%"?















21 22



В принципе, тоже вариант. Обобщить его можно так: внешняя таблица - 100% на 100% с одной ячейкой ПЛЮС вложенные таблицы шириной 100% для каждого ряда.
Название: IE: <td style="width: ...">
Отправлено: y4an от 22 Января 2006, 23:56:58
да, как то так,
даже можно наверное без таблицы для картинки обойтись
Название: IE: <td style="width: ...">
Отправлено: CGVictor от 23 Января 2006, 13:10:52
[off][moderatorial]
Ребят, вы закончили?

Проблема еще Кирсановым поднималась, не побоюсь этих слов - в прошлом веке.
Решается прямотой рук и вложенными таблицами.

Жду-не дождусь убить эту тему.
[/off]
Название: IE: <td style="width: ...">
Отправлено: hanslinger от 23 Января 2006, 15:08:03
[OFF]давно пора :)[/OFF]
Название: IE: <td style="width: ...">
Отправлено: CGVictor от 23 Января 2006, 15:54:41
[moderatorial]
[off]Ладно, убил. Если что по делу - откроете в "Open thread"[/off]