Возможно, вы захотите попробовать использовать transform: rotate()
и, как в комментарии sven, измените префикс на «-moz-», а не «-webkit-», потому что вы используете анимацию mozilla.
Вот пример: http://jsfiddle.net/gVCWE/14/
.box{
width:50px; height:50px;
background: yellow;
border: 1px solid black;
margin:100px;
position: relative;
float: left;
-moz-animation: 3s ease 0s normal none infinite swing;
-moz-transform-origin: center top;
-webkit-animation:swing 3s infinite ease-in-out;
-webkit-transform-origin:top;
}
@-moz-keyframes swing{
0%{-moz-transform:rotate(-3deg)}
50%{-moz-transform:rotate(3deg)}
100%{-moz-transform:rotate(-3deg)}
}
@-webkit-keyframes swing{
0%{-webkit-transform:rotate(-3deg)}
50%{-webkit-transform:rotate(3deg)}
100%{-webkit-transform:rotate(-3deg)}
}
Кроме того, причина, по которой они имеют -moz-transform-origin: center top;
, заключается в том, что он вращается вокруг вершины, поэтому использование left: -2px влево: 200px не имеет смысла.
РЕДАКТИРОВАТЬ: новый пример jsfiddle: http://jsfiddle.net/gVCWE/20/