效果如下
通过css animation属性能实现以上效果
先试用定位,将每一项设置一个初始位置
{cursor: pointer;left: 50%;width: 144px;height: 144px;display: flex;align-items: center;justify-content: center;margin-left: -72px;top: 228px;position: absolute;animation: action2 12s linear infinite;-webkit-animation: action2 12s linear infinite;
}// translateX 设置的距离为到圆心的距离
// 内层
@keyframes action2 {100% {transform: rotate(0deg) translateX(174px) rotate(0deg);-webkit-transform: rotate(0deg) translateX(174px) rotate(0deg);-moz-transform: rotate(0deg) translateX(174px) rotate(0deg);-ms-transform: rotate(0deg) translateX(174px) rotate(0deg);-o-transform: rotate(0deg) translateX(174px) rotate(0deg);}0% {transform: rotate(360deg) translateX(174px) rotate(-360deg);-webkit-transform: rotate(360deg) translateX(174px) rotate(-360deg);-moz-transform: rotate(360deg) translateX(174px) rotate(-360deg);-ms-transform: rotate(360deg) translateX(174px) rotate(-360deg);-o-transform: rotate(360deg) translateX(174px) rotate(-360deg);}
}//外层
@keyframes action {0% {transform: rotate(0deg) translateX(290px) rotate(0deg);-webkit-transform: rotate(0deg) translateX(290px) rotate(0deg);-moz-transform: rotate(0deg) translateX(290px) rotate(0deg);-ms-transform: rotate(0deg) translateX(290px) rotate(0deg);-o-transform: rotate(0deg) translateX(290px) rotate(0deg);}100% {transform: rotate(360deg) translateX(290px) rotate(-360deg);-webkit-transform: rotate(360deg) translateX(290px) rotate(-360deg);-moz-transform: rotate(360deg) translateX(290px) rotate(-360deg);-ms-transform: rotate(360deg) translateX(290px) rotate(-360deg);-o-transform: rotate(360deg) translateX(290px) rotate(-360deg);}
}