CSS3动画中怎么一边移动一边旋转?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CSS3动画中怎么一边移动一边旋转?相关的知识,希望对你有一定的参考价值。

我是新手。。。求教不用hover为什么我的只能移动不能旋转

*
padding:0;
margin:0;

#container1

width:800px;
height:700px;

#showing1

width:200px;
height:150px;
float:right;
position:relative;
top:550px;
background:#F36;
border-radius:10px;
transition:all 5s ease-in-out;
transform:rotate(720deg) scale(2,2);
animation:mylasting1;
animation-delay:2s;
animation-duration:5s;
animation-play-state:running;
animation-fill-mode:forwards;
/* Safari and Chrome: */
-webkit-border-radius:10px;
-webkit-transition:all 5s ease-in-out
-webkit-transform:rotate(720deg) scale(2,2);
-webkit-animation:mylasting1;
-webkit-animation-delay:2s;
-webkit-animation-duration:5s;
-webkit-animation-play-state:running;
-webkit-animation-fill-mode:forwards;

@keyframes mylasting1

0%top:550px;
25%top:250px;left:100px;
50%top:150px;left:50px;
100%top:0px;left:0px;

@-webkit-keyframes mylasting1

0%top:550px;
25%top:250px;left:100px;
50%top:150px;left:50px;
100%top:0px;left:0px;


<div id="container1">
<div id="showing1">
</div>
</div>

你的代码里面只有位置移动的top,left。没有写旋转的代码。

在动画帧时加入rotate(角度)就可以旋转并移动,可以参考下面代码。

相关示例如下:

<style>
.anianimation:box 1s linear 0s infinite;width:100px;height:100px;background:green;border-radius:50%;
@keyframes box0%   transform:rotate(0deg)translate(0,0);25%transform:rotate(90deg)50%transform:rotate(180deg)translate(-300px,0);75%transform:rotate(270deg);100% transform:rotate(360deg)translate(0,0);
</style>
<div class="ani"></div>


CSS(层叠样式表)级联样式表是一种用来表现html(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。

参考技术A 你在这里面也没设置让他旋转的代码,肯定不会旋转的
就是这句:-webkit-transform:rotate(720deg) scale(2,2);
@keyframes mylasting1

0%top:550px; -webkit-transform:rotate(10deg) scale(2,2); transform:rotate(720deg) scale(2,2);
25%top:250px;left:100px; -webkit-transform:rotate(80deg) scale(2,2); transform:rotate(720deg) scale(2,2);
50%top:150px;left:50px; -webkit-transform:rotate(160deg) scale(2,2); transform:rotate(720deg) scale(2,2);
100%top:0px;left:0px; -webkit-transform:rotate(320deg) scale(2,2); transform:rotate(720deg) scale(2,2);

@-webkit-keyframes mylasting1

0%top:550px; -webkit-transform:rotate(10deg) scale(2,2);
25%top:250px;left:100px; -webkit-transform:rotate(80deg) scale(2,2);
50%top:150px;left:50px; -webkit-transform:rotate(160deg) scale(2,2);
100%top:0px;left:0px; -webkit-transform:rotate(320deg) scale(2,2);
本回答被提问者采纳
参考技术B @keyframes mylasting1

0%top:550px;
25%top:250px;left:100px;
50%top:150px;left:50px;
100%top:0px;left:0px;transform:rotate(720deg) scale(2,2);

旋转数组的最小数字

把一个有序数组进行旋转,对于已知旋转后的数组,找出这个数组中的最小值。

这个问题看起来比较简单,只要遍历一遍数组就能找到最小值,但如果题目中对时间复杂度有要求,那么这个时候就要考虑用其他的方法。

可以想到一种方法,二分查找法,每一次二分查找一定会有一边的数字是连续且是递增的,这个时候我们要找的最小值一定在另一边,我们又把查找的范围放在另一边,以此下去,最终找到最小值,代码如下:

int find(int a[], int size)

{

int left = 0;

int right = size - 1;

while (left <= right)

{

int mid = (left &right) + (left^right) / 2;

if (a[mid] <= a[left] && a[mid] <= a[right])

{

return a[mid];

}

else if (a[mid] < a[left])

{

right = mid - 1;

}

else if (a[mid] > a[right])

{

left = mid + 1;

}

}

return -1;

}

int main()

{

int a[] = { 3, 4, 5, 1, 2 };

int ret = find(a, 5);

printf("%d", ret);

system("pause");

return 0;

}


以上是关于CSS3动画中怎么一边移动一边旋转?的主要内容,如果未能解决你的问题,请参考以下文章

CSS3炫酷的动画制作技巧—缩放和旋转

css3动画怎么实现旋转效果

如何用css3实现这个有意思的loading动画

css3动画连续执行两个怎么做

css3 由小变大然后一直旋转的动画怎么做

如何用css3实现360度旋转动画