3
<style type="text/css">

@-webkit-keyframes waveArm{
    0%,100% {
        -webkit-transform:rotate(0deg);
    }
    10%,30%,50%,70%,90% {
        -webkit-transform:rotate(90deg);
    }
    20%,40%,60%,80% {
        -webkit-transform:rotate(45deg);
        }
}

#arm {
    position:absolute;
    top:135px;
    left:135px;
    width:201px;
    height:74px;
    background:url(test-arm.png) 0 0 no-repeat;
    -webkit-animation: waveArm 3s 1s 1;
    -webkit-transform-origin:81% 46%;
}

</style>

<div id="arm"></div>

在此处输入图像描述

我想知道是否有办法使用对象的高度和宽度来计算变换原点 X 和 Y 值,以便它像挥动手臂和肩膀一样平滑地围绕单个点旋转。

在这种情况下,我通过反复试验发现分别为 81% 和 46%,但我想要一个更简单的方法。

谢谢

4

1 回答 1

4

Aaah! Figured it out in px. Easy really!

The width of the arm is 201px and the height is 74px. The pivot point i needed is 34px from the top and 34px from the right.

X starts from the left. Y starts from the top so...
X = 201-34 = 167
Y = 34

-webkit-transform-origin:167px 34px;

于 2012-04-09T20:31:17.900 回答