console
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="UTF-8">
<title>圆形方块</title>
</head>
<body>
<div class="box">
<div class="circle c-1"></div>
<div class="circle c-2"></div>
</div>
</body>
</html>
body {
margin: 0;
perspective: 2000px;
}
.box {
position: relative;
margin: 150px auto;
width: 200px;
height: 200px;
transform-style: preserve-3d;
transform: rotateX(20deg) rotateZ(0deg);
animation: rotate 4s linear infinite;
}
@keyframes rotate {
0% {
transform: rotateX(0) rotateY(0);
}
50% {
transform: rotateX(360deg) rotateY(0);
}
100% {
transform: rotateX(360deg) rotateY(360deg);
}
}
.circle,
.circle::before,
.circle::after {
position: absolute;
top: 0;
right: 0;
border-radius: 50%;
width: 200px;
height: 200px;
transform-style: preserve-3d;
content: '';
}
.c-1 {
transform: translateZ(200px);
background-color: #FECC5C;
}
.c-1::before {
transform: rotateX(90deg) translateZ(200px) translateY(-200px);
background-color: #41C3AC;
}
.c-1::after {
transform: rotateX(-90deg) translateZ(200px) translateY(200px);
background-color: #32526E;
}
.c-2 {
transform: translateZ(-200px);
background-color: #FE6B57;
}
.c-2::before {
transform: rotateY(90deg) translateX(-200px) translateZ(200px);
background-color: #65A2C5;
}
.c-2::after {
transform: rotateY(-90deg) translateX(200px) translateZ(200px);
background-color: #FF884D;
}