<div class="spinner">
<img src="https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kr7ormd6xl1ymkb501sv.png" class="pizza-part pizza-part-1" />
<img src="https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kr7ormd6xl1ymkb501sv.png" class="pizza-part pizza-part-2" />
<img src="https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kr7ormd6xl1ymkb501sv.png" class="pizza-part pizza-part-3" />
<img src="https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kr7ormd6xl1ymkb501sv.png" class="pizza-part pizza-part-4" />
</div>
.spinner {
width: 160px;
height: 160px;
margin: 0;
display: flex;
flex-wrap: wrap;
animation: spin 4s linear infinite;
}
.pizza-part {
width: 80px;
height: 80px;
}
.pizza-part-1 {
animation: pizza1 2s ease-in-out infinite;
}
.pizza-part-2 {
animation: pizza2 2s ease-in-out infinite;
}
.pizza-part-3 {
animation: pizza4 2s ease-in-out infinite;
}
.pizza-part-4 {
animation: pizza3 2s ease-in-out infinite;
}
/* animations */
@keyframes spin {
0% {
transform: rotateZ(0deg);
}
100% {
transform: rotateZ(360deg);
}
}
@keyframes pizza1 {
0% {
transform: translate(-20%, -20%);
opacity: 0;
}
10% {
transform: translate(0%, 0%);
opacity: 1;
}
50% {
transform: translate(0%, 0%);
opacity: 1;
}
60% {
transform: translate(-20%, -20%);
opacity: 0;
}
100% {
transform: translate(-20%, -20%);
opacity: 0;
}
}
@keyframes pizza2 {
0% {
transform: translate(20%, -20%) rotateZ(90deg);
opacity: 0;
}
10% {
transform: translate(20%, -20%) rotateZ(90deg);
opacity: 0;
}
20% {
transform: translate(0%, 0%) rotateZ(90deg);
opacity: 1;
}
60% {
transform: translate(0%, 0%) rotateZ(90deg);
opacity: 1;
}
70% {
transform: translate(20%, -20%) rotateZ(90deg);
opacity: 0;
}
100% {
transform: translate(20%, -20%) rotateZ(90deg);
opacity: 0;
}
}
@keyframes pizza3 {
0% {
transform: translate(20%, 20%) rotateZ(180deg);
opacity: 0;
}
20% {
transform: translate(20%, 20%) rotateZ(180deg);
opacity: 0;
}
30% {
transform: translate(0%, 0%) rotateZ(180deg);
opacity: 1;
}
70% {
transform: translate(0%, 0%) rotateZ(180deg);
opacity: 1;
}
80% {
transform: translate(20%, 20%) rotateZ(180deg);
opacity: 0;
}
100% {
transform: translate(20%, 20%) rotateZ(180deg);
opacity: 0;
}
}
@keyframes pizza4 {
0% {
transform: translate(-20%, 20%) rotateZ(-90deg);
opacity: 0;
}
30% {
transform: translate(-20%, 20%) rotateZ(-90deg);
opacity: 0;
}
40% {
transform: translate(0%, 0%) rotateZ(-90deg);
opacity: 1;
}
80% {
transform: translate(0%, 0%) rotateZ(-90deg);
opacity: 1;
}
90% {
transform: translate(-20%, 20%) rotateZ(-90deg);
opacity: 0;
}
100% {
transform: translate(-20%, 20%) rotateZ(-90deg);
opacity: 0;
}
}
/* Additional styling */
html,
body {
padding: 0;
margin: 0;
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
width: 100vw;
}
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.