О! Мой Любимый Вопрос :-)
> - обычно, чтобы оформить дизайн сайта (знаю, так не хорошо :) помещают картинку в ячейку таблицы, при этом пробелов между тегами TD и IMG быть не должно, ни слева ни справа
Не... Обычно IMG'у Дают ID, Говорят Ему Display:Block; Position:Absolute; :-)
> - теперь нарисуем такую таблицу с картинкой и объявим тип документа XHTML 1.0 - transition, наиболее "мягкий", в результате страничка правильно показывается и в IE и в NN (6 и 7)
Вот Тут Я И Спрошу - А Зачем _X_HTML? Для Того, Чтобы Страница Отображалась По Новым Правилам, Надо Писать HTML 4.01 Strict. А Вот XHTML, Скорее Всего, И Вызывает Твои Проблемы. Сейчас Напишу, Почему.
> Такое впечатление, что он считает, что кроме картинки в ячейке есть ещё текст и в результате растягивает ячейку,
У Меня Это Вглядит Так, Что #text Лежит Не В TD (Там Как-Раз Только Img), А В TR - По Обеим Сторонам От TD. И Это Правильно. Потому Что XHTML - Это В Первую Очередь XML. А Для XML Не Существует Такого Понятия, Как Отсутствие Контента Непосредственно Внутри TR. Для Него TR - Точно Такой Же Элемент, Как И Все Остальные.
> - однако IE продолжает корректно показывать страничку, за что ему спасибо
А Вот Это Происходит От Того, Что Для IE XHTML Реализован, Как Некий Хак Синтаксиса HTML. Маленькие Буквы, Кавычки И Прочая Синтаксическая Правильность Соблюдается, А Вот _Семантика_ Осталсь HTML'ная. Поэтому Я И Рекомендую Не Использовать XHTML До Того, Как Самый Распространенный Браузер Научится Его Понимать.
> Дело в том, что в коллекции childNodes у таблицы появляется элемент #text (которого нет в IE) - дело в нём?
Наверняка.
> - тип MIME text/xhtml судя по всему совсем не распространён?
Именно. Это То, Что "Оправдывает" Поведение IE. С Сервера-То Пришло Content-type: text/html, Вот Он И Не Обязан Считать Документ XML'ом. И Хотя Передаваемый Документ С Точки Зрения HTML Является Некорректным, IE Вправе Его Отображать, Как Умеет, Потому Что HTML _Не Определяет_ Никаких Правил Реакции На Ошибки (В Отличие От Честного XHTML).
> Насколько корректно использовать для XHTML страничек MIME тип text/xml?
Корректно. Есть Еще Также application/xhtml+xml - Он Тоже Подходит (И Даже Где-То Рекомендуется).
(Вот Очень Грамотная Статья По Этому Поводу:
http://www.hixie.ch/advocacy/xhtml)
Однако, Если Тебе Интересна Совместимость С IE, Я Возвращаюсь К Своему Превому Вопросу: А Почему XHTML Strict, А Не HTML Strict?
P.S. Вообще, По Сути, _Сейчас_ Смысл Использования XHTML Сводится К Тому, Чтобы Показывать Всем Глюки IE. Потому Что Переданный, Как text/xml, Он В IE Отображается, Как XML'ное Дерево, А Не Как Страница :-)