首页 话题 小组 问答 好文 用户 我的社区 域名交易 唠叨

[分享]css动画按照曲线运动

发布于 2024-11-11 15:15:55
0
43

CSS动画在 Web 开发中扮演着重要的角色。其中,曲线运动是一种非常有趣和吸引人的动画效果,本文将针对 CSS 动画按照曲线运动进行详细介绍。.curveanimation{ animationna...

CSS动画在 Web 开发中扮演着重要的角色。其中,曲线运动是一种非常有趣和吸引人的动画效果,本文将针对 CSS 动画按照曲线运动进行详细介绍。

.curve-animation{
    animation-name: curve;
    animation-duration: 2s; /*动画持续时间*/
    animation-fill-mode: forwards;
    /* 将元素位置保留在动画结束位置 */
    transform-origin: 50% 50%; /*动画中心位置*/
    animation-timing-function: cubic-bezier(0.42, 0.0, 0.58, 1.00); /*贝塞尔曲线*/
}
@keyframes curve {
    0% {transform: rotate(0deg) translate(0px, 0px);} 
    50%{transform: rotate(180deg) translate(100px, 200px);}
    100% {transform: rotate(360deg) translate(200px, 0px);}
} 

上述代码演示了一个 curve-animation 类,使用了 animation-timing-function 属性指定了贝塞尔曲线函数,它指定了动画在执行过程中,动画速度如何改变。

@keyframes 规则用来创建动画,在上述例子中,我们定义了三个关键帧,0% 代表动画开始时的属性,100% 代表动画结束时的属性,50% 代表动画执行到一半时的属性。

其中,transform: rotate(0deg) translate(0px, 0px); 表示元素不旋转,位置不变;transform: rotate(180deg) translate(100px, 200px); 表示元素旋转 180 度,并向右下角移动;transform: rotate(360deg) translate(200px, 0px); 表示元素继续旋转 360 度,并向右移动。

cubic-bezier(0.42, 0.0, 0.58, 1.00) :这是一个经过计算后的值,它代表了一个三次贝塞尔曲线的坐标点。具体取值可以使用在线工具,根据需求来选择合适的值,也可以手动在如上网址的贝塞尔曲线坐标系中选择点。

通过上述代码,我们可以轻松实现一个按照曲线运动的动画效果,让页面更加生动有趣。

评论
一个月内的热帖推荐
91云脑
Lv.1普通用户

62849

帖子

14

小组

291

积分

赞助商广告
站长交流