Я сталкивался с этой проблемой раньше. Это связано с тем, как HTML анализирует ширину таблицы и ячейки.
Вы можете установить 300 в качестве ширины, если содержимое элемента никогда не может превысить это значение (установка div с определенной шириной внутри и правилом переполнения - мой любимый способ).
Но при отсутствии решения, подобного описанному выше, в тот момент, когда ЛЮБОЙ элемент выталкивает вас за эту ширину, все ставки выключены. Элемент становится настолько широким, насколько это необходимо для размещения содержимого.
Дополнительный совет - заключите ваши значения ширины в любой набор кавычек, чтобы правильно вложить значение (<table width='300'
). Если кто-то придет и изменит его на%, он будет игнорировать%, в противном случае.
К сожалению, у вас всегда будут проблемы с разбивкой строк, которые не имеют «естественных» разрывов в IE, если вы не можете сделать что-то, чтобы разбить их с помощью кода.