絶対位置を削除することでどのような問題が発生したかはわかりませんが、に変更しposition: relative
、top: 4px
テキストと並べて、display: inline-block
マージンをテキストから分離できるようにしました。
span:before {
content: url(https://dl.dropboxusercontent.com/u/6114719/progress-2.png);
display: inline-block;
position: relative;
top: 4px;
margin-right: 5px;
transition: all 1.5s ease-in-out;
-webkit-transition: all 1.5s ease-in-out;
-moz-transition: all 1.5s ease-in-out;
-o-transition: all 1.5s ease-in-out;
}
フィドルはこちら: http://jsfiddle.net/Yb8aR/5/ - Chrome と Safari でテスト済み。
注:
Safari は before 疑似要素を span 要素に揃えるように見えますが、Chrome はそれを span 要素内のテキスト (中央に配置) に揃えるようです。なぜそれが起こるのか、私にはよくわかりません。