CSS心形缠绕转动效果
CSS心形缠绕转动效果是一种有趣的动画效果,能够给网页带来浪漫而动感的氛围。这个效果将一个心形图案无限旋转,并且同时绕着一个中心点缠绕旋转。
通过巧妙地运用CSS的动画属性和变换属性,你可以实现这个效果。首先,使用CSS创建一个心形图案,可以通过调整元素的宽高、边框、背景色等属性来塑造心形的形状。然后,定义一个动画,让心形图案无限旋转。你可以使用@keyframes关键字指定旋转的起始和结束状态,并设置动画的持续时间、速度曲线等参数。接下来,在心形图案的父元素上应用动画和变换属性,使其绕一个中心点进行旋转。
完整代码:
<!doctype html><html><head><meta charset="utf-8"><title>CSS心形缠绕转动效果</title><style>body {
background-color: #CB3334;
overflow: hidden;}.cssload-loader {
position: relative;
top: 30vh;
left: 35vw;
width: 262px;
height: 262px;
border-radius: 50%;
-o-border-radius: 50%;
-ms-border-radius: 50%;
-webkit-border-radius: 50%;
-moz-border-radius: 50%;
perspective: 780px;}.cssload-inner {
position: absolute;
width: 100%;
height: 100%;
box-sizing: border-box;
-o-box-sizing: border-box;
-ms-box-sizing: border-box;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
border-radius: 50%;
-o-border-radius: 50%;
-ms-border-radius: 50%;
-webkit-border-radius: 50%;
-moz-border-radius: 50%;}.cssload-inner.cssload-one {
left: 0%;
top: 0%;
animation: cssload-rotate-one 1.15s linear infinite;
-o-animation: cssload-rotate-one 1.15s linear infinite;
-ms-animation: cssload-rotate-one 1.15s linear infinite;
-webkit-animation: cssload-rotate-one 1.15s linear infinite;
-moz-animation: cssload-rotate-one 1.15s linear infinite;
border-bottom: 6px solid #fff;}.cssload-inner.cssload-two {
right: 0%;
top: 0%;
animation: cssload-rotate-two 1.15s linear infinite;
-o-animation: cssload-rotate-two 1.15s linear infinite;
-ms-animation: cssload-rotate-two 1.15s linear infinite;
-webkit-animation: cssload-rotate-two 1.15s linear infinite;
-moz-animation: cssload-rotate-two 1.15s linear infinite;
border-right: 6px solid #fff;}.cssload-inner.cssload-three {
right: 0%;
bottom: 0%;
animation: cssload-rotate-three 1.15s linear infinite;
-o-animation: cssload-rotate-three 1.15s linear infinite;
-ms-animation: cssload-rotate-three 1.15s linear infinite;
-webkit-animation: cssload-rotate-three 1.15s linear infinite;
-moz-animation: cssload-rotate-three 1.15s linear infinite;
border-top: 6px solid #fff;}@keyframes cssload-rotate-one {
0% {
transform: rotateX(35deg) rotateY(-45deg) rotateZ(0deg);
}
100% {
transform: rotateX(35deg) rotateY(-45deg) rotateZ(360deg);
}}@-o-keyframes cssload-rotate-one {
0% {
-o-transform: rotateX(35deg) rotateY(-45deg) rotateZ(0deg);
}
100% {
-o-transform: rotateX(35deg) rotateY(-45deg) rotateZ(360deg);
}}@-ms-keyframes cssload-rotate-one {
0% {
-ms-transform: rotateX(35deg) rotateY(-45deg) rotateZ(0deg);
}
100% {
-ms-transform: rotateX(35deg) rotateY(-45deg) rotateZ(360deg);
}}@-webkit-keyframes cssload-rotate-one {
0% {
-webkit-transform: rotateX(35deg) rotateY(-45deg) rotateZ(0deg);
}
100% {
-webkit-transform: rotateX(35deg) rotateY(-45deg) rotateZ(360deg);
}}@-moz-keyframes cssload-rotate-one {
0% {
-moz-transform: rotateX(35deg) rotateY(-45deg) rotateZ(0deg);
}
100% {
-moz-transform: rotateX(35deg) rotateY(-45deg) rotateZ(360deg);
}}@keyframes cssload-rotate-two {
0% {
transform: rotateX(50deg) rotateY(10deg) rotateZ(0deg);
}
100% {
transform: rotateX(50deg) rotateY(10deg) rotateZ(360deg);
}}@-o-keyframes cssload-rotate-two {
0% {
-o-transform: rotateX(50deg) rotateY(10deg) rotateZ(0deg);
}
100% {
-o-transform: rotateX(50deg) rotateY(10deg) rotateZ(360deg);
}}@-ms-keyframes cssload-rotate-two {
0% {
-ms-transform: rotateX(50deg) rotateY(10deg) rotateZ(0deg);
}
100% {
-ms-transform: rotateX(50deg) rotateY(10deg) rotateZ(360deg);
}}@-webkit-keyframes cssload-rotate-two {
0% {
-webkit-transform: rotateX(50deg) rotateY(10deg) rotateZ(0deg);
}
100% {
-webkit-transform: rotateX(50deg) rotateY(10deg) rotateZ(360deg);
}}@-moz-keyframes cssload-rotate-two {
0% {
-moz-transform: rotateX(50deg) rotateY(10deg) rotateZ(0deg);
}
100% {
-moz-transform: rotateX(50deg) rotateY(10deg) rotateZ(360deg);
}}@keyframes cssload-rotate-three {
0% {
transform: rotateX(35deg) rotateY(55deg) rotateZ(0deg);
}
100% {
transform: rotateX(35deg) rotateY(55deg) rotateZ(360deg);
}}@-o-keyframes cssload-rotate-three {
0% {
-o-transform: rotateX(35deg) rotateY(55deg) rotateZ(0deg);
}
100% {
-o-transform: rotateX(35deg) rotateY(55deg) rotateZ(360deg);
}}@-ms-keyframes cssload-rotate-three {
0% {
-ms-transform: rotateX(35deg) rotateY(55deg) rotateZ(0deg);
}
100% {
-ms-transform: rotateX(35deg) rotateY(55deg) rotateZ(360deg);
}}@-webkit-keyframes cssload-rotate-three {
0% {
-webkit-transform: rotateX(35deg) rotateY(55deg) rotateZ(0deg);
}
100% {
-webkit-transform: rotateX(35deg) rotateY(55deg) rotateZ(360deg);
}}@-moz-keyframes cssload-rotate-three {
0% {
-moz-transform: rotateX(35deg) rotateY(55deg) rotateZ(0deg);
}
100% {
-moz-transform: rotateX(35deg) rotateY(55deg) rotateZ(360deg);
}}</style></head><body><div class="cssload-loader">
<div class="cssload-inner cssload-one"></div>
<div class="cssload-inner cssload-two"></div>
<div class="cssload-inner cssload-three"></div></div><script></script></body></html>