首页前端开发CSScss3实现小球来回滚动

css3实现小球来回滚动

时间2023-07-19 17:33:03发布访客分类CSS浏览1049
导读:CSS3实现小球来回滚动非常简单,只需要用到两个简单的动画属性:animation和transform。.ball {position: absolute;top: 200px;left: 0;width: 50px;height: 50p...

CSS3实现小球来回滚动非常简单,只需要用到两个简单的动画属性:animation和transform。

.ball {
    position: absolute;
    top: 200px;
    left: 0;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background-color: #FF8C00;
    animation: roll 2s ease-in-out infinite;
}
@keyframes roll {
0% {
    transform: translateX(0);
}
50% {
    transform: translateX(90vw);
}
100% {
    transform: translateX(0);
}
}
    

上述代码中,我们首先定义了一个.ball的类,用于表示小球的样式。接着定义了动画属性animation,给小球加上一个名为roll的动画,动画周期为2秒,缓动方式为ease-in-out,无限循环。

animation: roll 2s ease-in-out infinite;

接下来,我们定义动画的关键帧,从图中可以看出小球的运动轨迹是从左到右,再从右到左,形成来回滚动的效果。因此,我们需要定义三个关键帧,分别为0%、50%和100%。

@keyframes roll {
0% {
    transform: translateX(0);
}
50% {
    transform: translateX(90vw);
}
100% {
    transform: translateX(0);
}
}
    

在0%时,小球的初始位置是在左边界处,不需要进行位移;50%时,小球通过transform的位移属性transform: translateX(90vw),向右移动90vw,这里的vw表示viewport width,即视口的宽度;100%时,小球又回到了初始位置,重新从左边界开始滚动。

除了上述CSS代码外,还需要一个HTML文件以及引入CSS文件的代码:

!DOCTYPE html>
    html>
    head>
    meta charset="utf-8">
    title>
    CSS3实现小球来回滚动/title>
    link rel="stylesheet" type="text/css" href="style.css">
    /head>
    body>
    div class="ball">
    /div>
    /body>
    /html>
    

最终的效果如下图所示:

![CSS3实现小球来回滚动](https://cdn.luogu.com.cn/upload/image_hosting/e1j8i4xm.png)

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: css3实现小球来回滚动
本文地址: https://pptw.com/jishu/318710.html
css属性可以使用负值的是 java 8和 java9

游客 回复需填写必要信息