Ответ 1
after
не является допустимым значением transition
.
Вместо этого поставьте transition
как свойство селектора :after
.
HTML
<div>Test</div>
CSS
div:after {
content:" - positive!";
position: relative;
opacity: 0;
top: -20px;
-webkit-transition: all 3s;
transition: all 3s;
}
div:hover:after {
opacity: 1;
top: 0px;
}
Вы также можете иметь другой переход на зависании и зависании. Это позволяет нам задерживать отображение псевдоэлемента, но не задерживать его.
CSS
div:after {
content:" - positive!";
position: relative;
opacity: 0;
top: -20px;
-webkit-transition: all 250ms;
transition: all 250ms;
}
div:hover:after {
opacity: 1;
top: 0px;
-webkit-transition: all 3s;
transition: all 3s;
}
Вот список браузеров, поддерживающих переходы на псевдоэлементы: http://css-tricks.com/transitions-and-animations-on-css-generated-content/