IE6 не будет признавать новые стилистические последствия динамически добавляемого контента - PullRequest
0 голосов
/ 20 июля 2010

У меня большая часть содержимого моей страницы в <div id="ret">. В какой-то момент этот контент обернут в <div id="_"> - это имеет всевозможные CSS-значения, поскольку существует таблица стилей, которая уже загружена страницей, полной правил, начинающейся с селектора #_ #ret{}.

Однако, новые значения стиля не признаются (я проверил с инспектором DOM - якобы, содержимое стилизовано, как если бы структура DOM не была изменена).

Из опыта я знаю, что IE неоднозначно относится к динамическому контенту и таблицам стилей, и у него есть многочисленные проблемы, когда оба они вступают в игру, поэтому я пробовал различные способы взлома, чтобы вызвать перерисовку и повторную интерпретацию, а именно document.getElementById('_').innerHTML += ' ';, чтобы вызвать перерисовку DOM и document.createStyleSheet(urlToAforementionedCSS) для перезагрузки таблицы стилей после изменения DOM. Из строки состояния и кратких FOUC я вижу, что оба этих взлома действительно вызывают повторные рендеры, но все равно, как будто явные правила нового каскада в CSS ничего не значат.

Чего мне не хватает?

1 Ответ

0 голосов
/ 26 июля 2010

IE6 не читает селекторы, содержащие значения класса или id, начинающиеся с чего-либо, кроме буквенного символа.-, _ и 0-9 игнорируются.

...