CSS3动画之小圆随着大圆转动

2020-03-05  本文已影响0人  凯凯frank

首先点此查看效果

主要原理

利用animation实现转动,然后通过transform-origin设置旋转的原点
点此查看如何使用transform-origin。

代码实现

html结构

 <div class="circle-box">
      <div class="big-circle"></div>
      <div class="small-circle"></div>
 </div>

css样式

.circle-box{
    position: absolute;
    left: 50%;
    top: 200px;
    transform: translate(-50%, 0);
}
.big-circle{
    width: 100px;
    height: 100px;
    background: red;
    border-radius: 50%;
}
.small-circle{
    position: absolute;
    left: 0;
    top: 50%;
    margin-left: -5px;
    margin-top: -5px;
    width: 10px;
    height: 10px;
    background: blue;
    border-radius: 50%;
    /*animation: autoCircle 2s infinite linear;*/
    /*transform-origin: 55px 5px;*/
}
@keyframes autoCircle {
    0%{ transform: rotate(0deg); }
    100%{ transform: rotate(360deg);}
}

为了方便理解,在不添加动画之前,可以先调整样式,把小圆放在大圆上。然后再添加动画,设置旋转原点即可。

上一篇 下一篇

猜你喜欢

热点阅读