Я знаю, что многие другие люди нашли решения, которые работали для их конкретного случая, но поскольку ни один из них не работал для моего конкретного случая, я подумал, что это может быть полезно для кого-то еще.
Некоторые детали:
Я использую API карт Google v3 в проекте, где встроенный CSS - это то, чего мы действительно очень хотим избежать. Мои информационные окна работали для всего, кроме IE11, где ширина была рассчитана неправильно. Это привело к переполнению div, которое вызвало полосы прокрутки.
Мне пришлось сделать три вещи:
Удалить все показы: правила стиля встроенного блока из всего, что находится внутри содержимого информационного окна (я заменил на display: block) - у меня появилась идея попробовать это из потока (который я больше не могу найти) где у кого-то была такая же проблема с IE6.
Передать содержимое как узел DOM, а не как строку. Я использую jQuery, поэтому я мог бы сделать это, заменив: infowindow.setContent(infoWindowDiv.html());
на infowindow.setContent($(infoWindowDiv.html())[0]);
Это оказалось самым простым для меня, но есть много других способов получить тот же результат.
Используйте хак "setMaxWidth" - установите параметр MaxWidth в конструкторе - установка этого параметра позже не работает. Если вам не нужна максимальная ширина, просто установите ее на очень большое число.
Я не знаю, почему они работали, и я не уверен, что подмножество их будет работать. Я знаю, что ни один из них не работает для всех моих вариантов использования индивидуально, и что 2 + 3 не работает. У меня не было времени проверить 1 + 2 или 1 + 3.