CSS3过渡保持重置旋转

How*_*Gee 7 html css css3

我有一个CSS3过渡但在转换结束时我的旋转重置为正常状态.HTML和CSS很简单:

HTML

<a href="#"><span></span>Test</a>
Run Code Online (Sandbox Code Playgroud)

CSS

a {
    text-decoration: none;
}
a span {
    display: inline-block;
    width: 25px;
}
a span:before {
    content:'>';
    font-size: 10px;
    font-weight: bold;
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    -ms-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
}
a:hover span:before {
    margin-left: 55%;
    -webkit-transform: rotate(-90deg);
}
Run Code Online (Sandbox Code Playgroud)

转换按预期进行,但在动画结束时,旋转将重置为正常状态而不是持续存在.我已经创建了一个JSFiddle作为示例.如何保持我的轮换持续?

Hri*_*nov 11

尝试display: inline-block 像这样添加 :

a:hover span:before {
    margin-left: 55%; 
    -webkit-transform: rotate(90deg); 
    display: inline-block;
}
Run Code Online (Sandbox Code Playgroud)

小提琴.

说明.

默认情况下,伪元素类似于:before:after内联,因此它们存在转换问题,因此您需要将它们设置为display: blockdisplay: inline-block.