Chertenok.ru - все о программировании
Вход  |  Регистрация  |  Поиск 
Праздник
Через 3 дня :

День славянской письменности и культуры


Фиг ли в IE так?


Новая тема  Ответить  Печать Предыдущая тема  Следующая тема
Автор Сообщение
Пол:Муж Yurik
Модератор


Возраст: 29
Знак зодиака: Рыбы
Зарегистрирован: 08.03.2006
Сообщения: 150
Откуда: Омск
СообщениеПт, 03-Авг-2007 12:31    Заголовок сообщения: Фиг ли в IE так?
Цитата

Уважаемые товарищи!

Мне нужен ваш совет. Я наткнулся на ужасную, досадную и просто отвратительную особенность :) Вот она.

Создаем 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? Или это такая фича (если фича, то дерьмовая...)?

И главный вопрос: как это лечить???

_________________
Зри в корень.
В начало
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
CyberMerlin
Гость







СообщениеПт, 03-Авг-2007 12:45 
Цитата

потому что в IE стиль формируется по первым записям - в данном случае по первой строке (- твой случай единичная ячейка)
В начало
Пол:Муж Ktf
Администратор


Возраст: 32
Знак зодиака: Рак
Зарегистрирован: 15.05.2005
Сообщения: 1502
Откуда: localhost
СообщениеПт, 03-Авг-2007 13:42 
Цитата

глянь вот такие варианты:
Цитата:
<td width="3%" align="right">%</td>

Цитата:
<td style="width: 3%" align="right">%</td>

_________________
Пойду посплю перед сном.
В начало
Посмотреть профиль Отправить личное сообщение
Пол:Муж Yurik
Модератор


Возраст: 29
Знак зодиака: Рыбы
Зарегистрирован: 08.03.2006
Сообщения: 150
Откуда: Омск
СообщениеПт, 03-Авг-2007 14:01 
Цитата

Спасибо, Лёха!

Такой вариант работает.
Но что делать в том случае, если сайт "резиновый", а левую ячейку нужно жестко отфиксировать по ширине (т.е. задать именно в пикселях)?

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

_________________
Зри в корень.
В начало
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Показать сообщения:   
Страница 1 из 1
Перейти:  
Новая тема  Ответить  Печать

Вы можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете присоединять файлы в этом форуме
Вы можете скачивать файлы в этом форуме
хостинг от .masterhost 
Rambler's Top100