替代CSS剪辑路径?

时间:2016-06-22 10:19:56

标签: html css css-animations

是否有'clip-path'替代品,因为它没有很多浏览器支持?请看PSD文件的截图

**HERE**

我试图让“ring 1”顺时针慢慢旋转,“ring 2”在无限循环上逆时针运行。它应该是一个相当简单的CSS动画,但棘手的部分是剪贴蒙版效果。有任何想法吗?

2 个答案:

答案 0 :(得分:2)

您可以管理的最简单方法是 - 对两个圈子使用 SVG 。然后使用普通的关键帧动画为它们设置动画。

SVG具有非常好的浏览器支持,您可以将它们变成具有各种不透明度的各种形状。如果可以,请尝试使用Adobe Illustrator,或者使用InkScape获取免费软件。

您可以在another stackoverflow article

中找到有关旋转动画的更多详细信息

答案 1 :(得分:1)

我认为Jezen Thomas的以下文章正是您所寻找的

https://jezenthomas.com/arcify/

在stackoverflow上查看他的answer

<强> UPADTE

我发布了评论

中建议的相关代码

&#13;
&#13;
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;
&#13;
&#13;

请参阅Arcify上MSS(@geeksal)的笔CodePen