Почему IE10 требует наличия правила p: hover {} для переходов для работы с псевдоэлементом?

HTML:

<p>Hover</p>

CSS:

p::after {
    content: " here";
    transition: all 1s;
}

p:hover::after {
    font-size: 200%;
    color: red;
}

Живая демоверсия: http://jsfiddle.net/SPHzj/13/ (работает в Firefox и Chrome)

Как видите, янастроили CSS переходы на::after псевдоэлемент абзаца. Затем при наведении абзаца на псевдоэлемент, которые переходят, применяются два новых стиля.

Это работает в Firefox и Chrome, но не в IE10. Мое рассуждение было то, что IE нене понимаюp:hover::after селектор, как это работает в IE, если вы установите наведение на элемент предка, например,div:hover p::after - живое демо:http://jsfiddle.net/SPHzj/14/.

Однако это не так, поскольку IE действительно способен понять этот селектор. Хитрость заключается в том, чтобы определитьp:hover {} править также. (Обнаружено@ maxw3st.)

p:hover {}

Это правило может быть пустым. Простое присутствие этого правила заставит переход работать в IE10.

Живая демоверсия: http://jsfiddle.net/SPHzj/15/ (также работает в IE10)

Какие'здесь происходит? Почему IE требует, чтобы это правило присутствовало, чтобы переходы работали с псевдоэлементом? Должно ли это быть ошибкой?

Ответы на вопрос(3)

Ваш ответ на вопрос