美文网首页
关于div沿斜线运动的animation动画

关于div沿斜线运动的animation动画

作者: 猫晓封浪 | 来源:发表于2019-07-08 09:57 被阅读0次

参考文章:CSS3: 利用分层动画让元素沿弧形路径运动

问题:

要使div沿水平或者竖直方向移动是很简单就能实现的,CSS animations 和 transitions 限制我们只能沿直线路径运动,但是如果想在两点间任意移动就很困难。

思路:

用 CSS (开启硬件加速)实现两点之间的运动,最直截了当的方式是使用 transform 的 translate 在一定时间内移动某个元素。这个时候看到的是沿着两点间运动,如果想要两点直线运动,就要将这个动画拆分为 x、y 轴。即每个轴单独执行自己的动画函数。

代码:
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>JS Bin</title>
  <style type="text/css">
    #box{
      width:500px; height:500px;
      border: 1px solid;
      position: relative;
    }
    
    .img {
      width: 50px;
      height: 50px;
      border: 1px solid red;
      position: absolute;
      left: 0px;
      top: 0px;
      animation-name: rightMove, bottomMove;
      animation-duration: 5s;
      animation-iteration-count: infinite;
    }
    
    @keyframes rightMove{
       50% {
        animation-timing-function: linear;
        left: 450px;
      }
    }
 
    @keyframes bottomMove{
      50% {
        animation-timing-function: linear;
        top: 450px;
      }
    }
  </style>
</head>
<body>
  <div id="box">
    <div class='img'>
      
    </div>
  </div>
</body>
</html>

相关文章

网友评论

      本文标题:关于div沿斜线运动的animation动画

      本文链接:https://www.haomeiwen.com/subject/kkynhctx.html