css3实现椭圆轨迹旋转

Posted ---godzilla---

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了css3实现椭圆轨迹旋转相关的知识,希望对你有一定的参考价值。

css3实现椭圆轨迹旋转

实现效果

技术图片

X轴Y轴在一个矩形内移动

做斜线运动

 

 1 .ball 
 2     position: absolute;
 3     animation: 
 4       animX 2s linear  infinite alternate,
 5       animY 2s linear  infinite alternate
 6   
 7 @keyframes animX
 8       0% left: 0px;
 9     100% left: 500px;
10 
11 @keyframes animY
12       0% top: 0px;
13     100% top: 300px;
14 

 

技术图片

设置动画延时

设置Y轴延时为动画时长的一半, 运动轨迹变成菱形

1  .ball 
2     animation: 
3       animX 2s linear 0s infinite alternate,
4       animY 2s linear -1s infinite alternate
5   

技术图片

设置三次贝塞尔曲线

1  .ball 
2     animation: 
3       animX 2s  cubic-bezier(0.36, 0, 0.64, 1) -1s infinite alternate,
4       animY 2s cubic-bezier(0.36, 0, 0.64, 1) 0s infinite alternate
5   

技术图片

缩小放大

为了看起来有立体感添加scale属性,scale动画应该是X轴和Y轴的时间总和

 1  .ball1 
 2     animation: 
 3       animX 2s  cubic-bezier(0.36, 0, 0.64, 1) -1s infinite alternate,
 4       animY 2s cubic-bezier(0.36, 0, 0.64, 1) 0s infinite alternate,
 5       scale 4s cubic-bezier(0.36, 0, 0.64, 1) 0s infinite alternate;
 6   
 7  @keyframes scale 
 8  
 9     0% 
10       transform: scale(0.7)
11     
12     50% 
13       transform: scale(1)
14     
15     100% 
16       transform: scale(0.7)
17    
18  

 

技术图片

 

以上是关于css3实现椭圆轨迹旋转的主要内容,如果未能解决你的问题,请参考以下文章

计算椭圆运动轨迹的算法

css3椭圆运动

点和椭圆(旋转)位置测试:算法

如何用 css 画出一个椭圆

代码备份:按模式划分椭圆轨迹渐变matlab

圆锥曲线总结一(椭圆)