css3 完成元素弧线健身运动的示例编码

日期:2020-12-12 类型:科技新闻 

关键词:html网页制作,php网页制作,网页设计稿,网页编辑工具,学生网页设计模板

怎样应用CSS操纵元素弧线健身运动

大家都了解,CSS3的新特性transfrom过渡实际效果能够完成元素位移、转动、放缩。融合animation特性,便可以完成元素的动漫实际效果。可是怎样根据css完成元素完成弧线健身运动呢:

如上图动漫实际效果所示,圆球弧线健身运动,剖析健身运动:

  • 将小球的健身运动拆分为X轴和Y轴两个健身运动看来,此时X轴的小球是以 (慢—快) 这样的速率健身运动;
  • 而Y轴的方位小球是以(快—慢)这样的速率健身运动;
  • 融合两个轴的健身运动,完成弧线实际效果

3次贝塞尔(Cubic Bezier)涵数

animation特性中有1个 animation-timing-function 特性,动漫的速率涵数。而这个特性 应用名为3次贝塞尔(Cubic Bezier)涵数的数学课涵数,来转化成速率曲线图。

cubic-bezier (x1,y1,x2,y2):(3次贝塞尔涵数的实际含意请查阅有关材料):

 
 

能够根据这个网站 传输门 去即时调整曲线图的赋值。而animation-timing-function特性中 早已出示了几个 早已封裝好的速率涵数:也便是大家常见的 ease、linear、ease-in、ease-out、ease-in-out。
 

实际效果完成

最先大家能想起的便是将X轴Y轴的位挪动画拆卸。可是1个元素的动漫同1時间只能实行1个动漫(最终声明的)。因此大家能够换位思索,用两个父子元素。给父级元素加上X轴位挪动画,给子元素提升Y轴位挪动画,实际编码以下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF⑻">
    <title>元素弧线健身运动</title>
    <style>
        .box{
            width: 400px;
            height: 400px;
            border: 2px solid #ff8800;
        }
        span{
            display: block;
            width: 40px;
            height: 40px;
            border: 1px solid #222;
            animation: center1 2s ease-in forwards;

        }
        span:after{
            content: '';
            display: block;
            width: 40px;
            height: 40px;
            -webkit-border-radius: 20px;
            -moz-border-radius: 20px;
            border-radius: 20px;
            background: greenyellow;
            animation: center2 2s ease-out forwards;
        }
        @keyframes center1 {
            to{transform: translateX(360px)}
        }
        @keyframes center2 {
            to{transform: translateY(360px)}
        }
    </style>
</head>
<body>
<div class="box">
    <span></span>
</div>
</body>
</html>

此时我用的是元素的伪类after取代了子元素,实际效果1样.给span1个给色border能够观查两个元素各自的健身运动运动轨迹,便于于观查,动漫实际效果以下:

此时還是能较为显著的看出翠绿色小球是做的弧线健身运动。

拓展:

此时假如感觉弧线不足大不足显著,大家能够自身调剂次贝塞尔(Cubic Bezier)涵数的值。依据网站 传输门 。

  • 挑选ease-in 的曲线图实际效果,此时大家更改 x1,y1的值(将鲜红色点向右拉)。随后拷贝此时的cubic-bezier()值。将这个值替代本来span的动漫 ease-in 的部位。
  • 挑选ease-out 的曲线图实际效果,此时大家更改 x2,y2的值(将蓝色点向右拉)。随后拷贝此时的cubic-bezier()值。将这个值替代本来span伪类after 的动漫 ease-out 的部位。

此时的CSS编码以下:

 

span{
            display: block;
            width: 40px;
            height: 40px;
            border: 1px solid #222;
            animation: center1 2s cubic-bezier(.66,.01,1,1) forwards;

        }
        span:after{
            content: '';
            display: block;
            width: 40px;
            height: 40px;
            -webkit-border-radius: 20px;
            -moz-border-radius: 20px;
            border-radius: 20px;
            background: greenyellow;
            animation: center2 2s cubic-bezier(0,0,.36,1) forwards;
        }

而此时的动漫实际效果的弧线,就更为的显著了:
 

到此这篇有关css3 完成元素弧线健身运动的示例编码的文章内容就详细介绍到这了,更多有关css3元素弧线健身运动內容请检索脚本制作之家之前的文章内容或再次访问下面的有关文章内容,期待大伙儿之后多多适用脚本制作之家!