是否有'clip-path'替代品,因为它没有很多浏览器支持?请看PSD文件的截图
我试图让“ring 1”顺时针慢慢旋转,“ring 2”在无限循环上逆时针运行。它应该是一个相当简单的CSS动画,但棘手的部分是剪贴蒙版效果。有任何想法吗?
答案 0 :(得分:2)
您可以管理的最简单方法是 - 对两个圈子使用 SVG 。然后使用普通的关键帧动画为它们设置动画。
SVG具有非常好的浏览器支持,您可以将它们变成具有各种不透明度的各种形状。如果可以,请尝试使用Adobe Illustrator,或者使用InkScape获取免费软件。
中找到有关旋转动画的更多详细信息答案 1 :(得分:1)
我认为Jezen Thomas的以下文章正是您所寻找的
https://jezenthomas.com/arcify/
在stackoverflow上查看他的answer。
<强> UPADTE 强>
我发布了评论
中建议的相关代码
html{
width: 100%;
height: 100%;
background-color: #212121;
}
body {overflow-y: hidden;}
ul{
height: 100%;
width: 100%;
display: block;
margin: 0 auto;
}
li{
position: absolute;
left: 50%;
top: 50%;
display: block;
background: transparent;
border: 10px solid rgba(23,246,251, 1.0);
border-radius: 500px;
transition: all 0.5s ease;
}
li:first-child{
margin-left: -130px;
margin-top: -130px;
width: 240px;
height: 240px;
border-color: #e000c9;
border-left-color: transparent;
border-right-color: transparent;
animation: spin 12s infinite linear;
}
li:nth-child(2) {
margin-left: -120px;
margin-top: -120px;
width: 220px;
height: 220px;
border-color: #7500ad;
border-top-color: transparent;
border-right-color: transparent;
animation: spin2 12s infinite linear;
}
li:nth-child(3) {
margin-left: -110px;
margin-top: -110px;
width: 200px;
height: 200px;
border-color: #0049d8;
border-left-color: transparent;
border-right-color: transparent;
animation: spin3 4s infinite linear;
}
li:nth-child(4) {
margin-left: -80px;
margin-top: -80px;
width: 140px;
height: 140px;
border-color: #0089ed;
border-left-color: transparent;
border-top-color: transparent;
animation: spin4 4s infinite linear;
}
li:nth-child(5) {
margin-left: -70px;
margin-top: -70px;
width: 120px;
height: 120px;
border-color: #00f2a9;
border-left-color: transparent;
border-right-color: transparent;
animation: spin5 4s infinite linear;
}
li:nth-child(6) {
margin-left: -60px;
margin-top: -60px;
width: 100px;
height: 100px;
border-color: #009e2c;
border-left-color: transparent;
border-right-color: transparent;
animation: spin6 4s infinite linear;
}
li:nth-child(7) {
margin-left: -40px;
margin-top: -40px;
width: 60px;
height: 60px;
border-color: #d4d800;
border-left-color: transparent;
border-right-color: transparent;
border-top-color: transparent;
animation: spin7 2s infinite linear;
}
li:nth-child(8) {
margin-left: -30px;
margin-top: -30px;
width: 40px;
height: 40px;
border-color: #c18b00;
border-left-color: transparent;
border-right-color: transparent;
animation: spin8 2s infinite linear;
}
/* Animations */
@keyframes spin {
0% {transform: rotate(0deg);}
10% {transform: rotate(-25deg);}
20% {transform: rotate(47deg);}
30% {transform: rotate(-125deg);}
40% {transform: rotate(-25deg);}
50% {transform: rotate(25deg);}
60% {transform: rotate(165deg);}
70% {transform: rotate(42deg);}
80% {transform: rotate(180deg);}
90% {transform: rotate(-300deg);}
100%{transform: rotate(360deg);}
}
@keyframes spin2 {
0% {transform: rotate(0deg);}
100%{transform: rotate(360deg);}
}
@keyframes spin3 {
0% {transform: rotate(0deg);}
60% {transform: rotate(165deg);}
70% {transform: rotate(42deg);}
100%{transform: rotate(360deg);}
}
@keyframes spin4 {
0% {transform: rotate(0deg);}
100%{transform: rotate(360deg);}
}
@keyframes spin5 {
0% {transform: rotate(0deg);}
10% {transform: rotate(-25deg);}
20% {transform: rotate(47deg);}
30% {transform: rotate(-125deg);}
100%{transform: rotate(360deg);}
}
@keyframes spin6 {
0% {transform: rotate(0deg);}
80% {transform: rotate(180deg);}
90% {transform: rotate(-300deg);}
100%{transform: rotate(360deg);}
}
@keyframes spin7 {
0% {transform: rotate(0deg);}
100%{transform: rotate(-360deg);}
}
@keyframes spin8 {
0% {transform: rotate(0deg);}
100%{transform: rotate(360deg);}
}
&#13;
<ul>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
&#13;
请参阅Arcify上MSS(@geeksal)的笔CodePen。