Xpoint
   [напомнить пароль]

Баг IE8?

Метки: [без меток]
2009-10-30 00:48:29 [обр] walek[досье]

Привет!
Не знаю, баг ли это IE8, но к этому идет.
Есть таблица в 3 колонки. Колонки нужно сделать пропорциональными, по 33%.
Левая колонка — выравнивание слева. Центральная — по центру. Правая — справа.
Слева и справа 10% отступ.

Все должно быть просто:

<table border="0" width="100%">
   <colgroup>
      <col width="33%"></col>
      <col width="33%"></col>
      <col width="33%"></col>
   </colgroup>
   <tr>
      <td style="padding-left: 10%;">1</td>
      <td style="text-align: center;">2</td>
      <td style="padding-right: 100%; text-align: right;">3</td>
   </tr>
   </table>

Но, в 8 IE эта конструкция не работает. Отступ в 10% справа не работает.
В 6, 7 IE работает.

Исправил так:

<table border="1" width="100%">
   <colgroup>
      <col width="33%"></col>
      <col width="33%"></col>
      <col width="33%"></col>
   </colgroup>
   <tr>
      <td style="padding-left: 10%;">1</td>
      <td style="text-align: center;">2</td>
      <td style="padding-right: 30%; float: right;">3</td>
   </tr>
   </table>

Но, мне не очень нравится этот метод. Кривоватый какой-то.
Может кто подскажет метод элегантнее?

Спасибо.

спустя 33 минуты [обр] Marat Tanalin(10/78)[досье]
Попробуйте внутрь TD вложить DIV и отступы задать уже ему.
спустя 4 часа 54 минуты [обр] walek[досье]
MT[досье]
Да, спасибо.
Пробовал так.
Но метод становиться еще более громоздким.
спустя 2 часа 12 минут [обр] Филипп Ткачев(0/115)[досье]
А таблица из 1 строки?
спустя 6 часов [обр] Илья Cтpeльцын aka SelenIT(12/171)[досье]

Насколько я в курсе, для <col> закрывающий тег запрещен, в XHTML-стиле его нужно писать как "самозакрывающийся" (<col />). Маловероятно, конечно, что это влияет здесь, но на всякий случай...

А от совместного указания ширины <col> и паддингов для принадлежащих этому столбцу ячеек я советую воздерживаться по другой причине — браузеры по-разному интерпретируют эту ситуацию. Некоторые плюсуют паддинг к ширине, как если бы она была указана для самой ячейки, а некоторые (Хром, если не путаю) — нет, как если бы этот <col> был ее родительским блоком. Кто из них прав, я так и не смог установить, но факт неоднозначности налицо.

спустя 1 час 3 минуты [обр] walek[досье]
Илья Cтpeльцын aka SelenIT[досье]
Спасибо.
Даже если установить ширину без использования <col> и установить для td, ситуация не меняется.
спустя 52 минуты [обр] Marat Tanalin(10/78)[досье]

walek[досье]
По крайней мере, не будет зубодробительного float у td и будет исключена непредсказуемость метода расчёта ширины ячеек с padding в разных браузерах.

Правило: у ячейки таблицы — либо padding, либо ширина, но не одновременно.

спустя 31 минуту [обр] walek[досье]

MT[досье]
Правило: у ячейки таблицы — либо padding, либо ширина, но не одновременно.

Спасибо.
Так почему все остальные браузеры установку ширины и отступ одновременно понимают?
Не вижу ничего неправильного в задании ширины и отступа в ячейке одновременно.

спустя 19 часов [обр] Филипп Ткачев(0/115)[досье]
А почему бы не сверстать эту таблицу блоками?
Powered by POEM™ Engine Copyright © 2002-2005