Принуждение IE8 к повторному рендерингу / перерисовке: до /: после псевдоэлементов

, поэтому я немного поигрался с этой календарной штукой:

  • Grid of divs ( имитируя таблицу)
  • При наведении курсора на ячейку таблицы отображается всплывающая подсказка с двумя значками, каждая из которых состоит из div с элементами: before и: after
  • Значки меняют цвет в зависимости от цвета наведенной ячейки и цвета ее предыдущего брата (ячейки к значку применяется класс цвета).

Урезанная скрипка: http://jsfiddle.net/e9PkA/1/

Это отлично работает во всех браузерах, кроме IE8 и ниже (IE lte 7 и я никогда не стану друзьями, но IE8 будет неплохо иметь).

IE8 замечает изменение classNames и соответственно обновляет цвет div, но полностью игнорирует изменения цвета, подразумеваемые объявлениями: before и: after, например:

.wbscal_icon_arrival:before {
    width: 12px;
    height: 4px;

    left: -8px;
    top: 6px;
    background-color: silver;
}

.wbscal_icon_arrival.wbscal_full:before {
    background-color: #ff0000 !important; 
}

В приведенной выше скрипке элементы: before /: after являются окрашен ровно один раз: всплывающая подсказка отображается впервые.

В другой версии он обновлялся каждый раз, когда я выводил указатель мыши за пределы div "table", но не в том случае, если всплывающая подсказка скрыта при наведении курсора на границу div "cell".

Я пробовал принудительно запускать перерисовку, добавляя / удаляя другие классы в / из элемента / его родителей / тела, редактируя / получая доступ к атрибутам стиля и так далее, так что я думаю, это не обычная проблема с перерисовкой.

Есть ли какой-нибудь JS-хак, который исправляет это и заставляет: before /: after обновляться?

52
задан BoltClock 2 January 2012 в 15:12
поделиться

1 ответ

У меня есть подобная проблема в IE11 и Краю прямо сейчас.

на парении, я пытаюсь изменить Содержание от 'v' до 'V'. => Doesnt работают над любым браузером Microsoft.

Однако, если я изменяю букву на что-то еще ('w'/'W') или две буквы ('vV'), изменения значка. Yay Microsoft.

0
ответ дан 7 November 2019 в 09:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: