У меня есть простая таблица фиксированной ширины. Первый столбец имеет плавную ширину и содержит простой текст. Другие столбцы имеют фиксированную ширину и содержат дополненный div с более простым текстом в них. Все элементы таблицы настроены на вертикальное выравнивание: среднее. В IE7 +, FF, Chrome и т. Д. Все вертикально выравнивается нормально.
Затем я добавил JS для переключения отображения столбцов фиксированной ширины. Все остается вертикально выровненным в FF, Chrome, даже IE7, но по какой-то причине IE8 идет не так, как надо.
Вот демоверсия: http://www.pinksy.co.uk/table.html
Для демонстрации:
- Переключить столбец 4. В этом случае столбец 5 будет выровнен по вертикали, как если бы он был все еще старой высоты строки.
- Переключить столбец 3. Столбцы 4 и 5 будут выровнены по вертикали, как если бы это была старая высота строки.
- Переключить столбец 2. Столбцы 3, 4 и 5 будут выровнены по вертикали, как если бы это была старая высота строки.
Итак, это связано с тем, что IE8 не может пересчитать вертикальное выравнивание оставшихся крайних правых столбцов относительно высоты новой строки.
Сумасшедшая вещь, это нормально в IE7! Любые идеи с благодарностью!