Простой обходной путь для IE8 состоит в том, чтобы подтолкнуть таблицу, чтобы IE8 отрегулировал ширину столбца на основе оставшихся столбцов. Если предположить, что table
указывает на таблицу, то сработает следующее:
table.style.display = "inline-table";
window.setTimeout(function(){table.style.display = "";},0);
Авторы: я впервые прочитал об этой технике из блога Сриканта .
И для справки: обновленный пример с использованием этой техники.
Я должен отметить, однако, что эта техника не всегда работает. Я вижу случай в более сложном приложении, в котором без изменений стиля я могу убедить IE принять во внимание, что количество столбцов изменилось (извините, у меня нет более простого воспроизводимого случая). К счастью для нас, IE9 полностью решает эту проблему.