Пока нет объяснения, почему IE делает это, но вот что происходит и как обойти это.
1) Если вы установите класс таблицы на «hide1 hide2» в html, то таблица будет отображаться правильно (без пробелов). Поэтому проблема, похоже, связана с тем, как IE обрабатывает изменения в таблице с помощью стилей.
2) Разрыв между столбцами - это ширина заголовка составного столбца.
3) Если вы исключите охват столбцов (и лишние столбцы), то все будет работать нормально.
Я нашел два обходных пути. Во-первых, используйте код для переключения дисплея, но вы отклонили эту опцию.
Альтернатива заключается в устранении кольспанов. Есть множество способов сделать это. Одним из них является преобразование группы ячеек, которые должны быть объединены во встроенную таблицу (то есть вместо двух элементов TD у вас будет один TD, который содержит таблицу с одним TR и двумя TD). Или вы можете использовать SPAN для более чистого кода (скажем, с ПРАВОЙ ГРАНИЦЕЙ для всех ячеек, кроме последней).