| Автор
| Сообщение |
 Yurik
Модератор

Возраст: 29
Знак зодиака: 
Зарегистрирован: 08.03.2006
Сообщения: 150
Откуда: Омск
|
|
|
Цитата |
|
Уважаемые товарищи!
Мне нужен ваш совет. Я наткнулся на ужасную, досадную и просто отвратительную особенность Вот она.
Создаем HTML-документ. Пишем в него:
| Цитата: | <table width="100%" border="1">
<tr>
<td width="80" align="right">%</td>
<td>%</td>
</tr>
</table> |
Смотрим - IE отображает все нормально. Придраться не к чему. Добавляем сверху еще одну ячейку:
| Цитата: | <table width="100%" border="1">
<tr>
<td colspan="2">Добавленная ячейка</td>
</tr>
<tr>
<td width="80" align="right">%</td>
<td>%</td>
</tr>
</table> |
Смотрим: разделитель двух колонок во второй строке сместился фиг знает куда вправо, вместе с ним текст в правой ячейке сместился. А вот надпись в левой ячейке, выровненная по правому краю, осталась на своем же месте.
Что интересно. Данная ситуация зависит от количества символов в ячейках таблицы. Например, если в правой ячейке текста много, то все встает на свои места. Если в верхней ячейке написать текста поменьше (вместо "добавленная ячейка" написать просто "ячейка") - то тоже все становится нормальным.
Описанный глюк в других браузерах не наблюдается.
Ладно, если бы это был просто малозначимый глюк. Из-за него вертикальное меню моего сайта при переходе между страницами подпрыгивает, и, что еще ужасней, когда в разделе контента (в данном примере это правая ячейка) текста немного, происходит смещение текста куда попало. Меня гнетет такая несправедливость! Объясните мне, пожалуйста, в чем же тут загвоздка. Может быть, это я что-то делаю не так? Или это глюк IE? Или это такая фича (если фича, то дерьмовая...)?
И главный вопрос: как это лечить??? _________________ Зри в корень. |
|
| В начало |
|
 |
|
|
 |
|
|
|
Цитата |
|
| потому что в IE стиль формируется по первым записям - в данном случае по первой строке (- твой случай единичная ячейка) |
|
| В начало |
|
 |
 Ktf
Администратор

Возраст: 32
Знак зодиака: 
Зарегистрирован: 15.05.2005
Сообщения: 1502
Откуда: localhost
|
|
|
Цитата |
|
глянь вот такие варианты:
| Цитата: | | <td width="3%" align="right">%</td> |
| Цитата: | | <td style="width: 3%" align="right">%</td> |
_________________ Пойду посплю перед сном. |
|
| В начало |
|
 |
 Yurik
Модератор

Возраст: 29
Знак зодиака: 
Зарегистрирован: 08.03.2006
Сообщения: 150
Откуда: Омск
|
|
|
Цитата |
|
Спасибо, Лёха!
Такой вариант работает.
Но что делать в том случае, если сайт "резиновый", а левую ячейку нужно жестко отфиксировать по ширине (т.е. задать именно в пикселях)?
И даже если сайт фиксированной ширины, можно, конечно, высчитать четко, сколько нужно указать процентов, чтобы получить требуемую ширину в пикселях (у меня там бэкграунд определенной ширины, и пиксель влево -- пиксель вправо будут давать непростительный эффект). И не факт, что браузеры будут это корректно высчитывать. Если уж четко указываешь в пикселях (куда уж четче) -- и то IE умудряется сдвинуть все как попало, то о указании в процентах и говорить не приходится  _________________ Зри в корень. |
|
| В начало |
|
 |
|