html和css实现3D魔方效果
效果图
css样式
* {
margin: 0;
padding: 0;
}
.side {
position: relative;
width: 300px;
height: 300px;
margin: 150px auto;
transform-style: preserve-3d;
transform: rotateX(-20deg) rotateY(20deg);
animation: move 5s linear infinite;
}
@keyframes move {
0% {
transform: rotateX(-20deg) rotateY(20deg);
}
100% {
transform: rotateX(-360deg) rotateY(360deg);
}
}
.side > div {
width: 100%;
height: 100%;
position: absolute;
}
.front {
background-color: red;
transform: translateZ(150px);
}
.back {
background-color: black;
transform: translateZ(-150px);
}
.top {
background-color: purple;
transform: translateY(-150px) rotateX(90deg);
}
.bottom {
background-color: skyblue;
transform: translateY(150px) rotateX(90deg);
}
.left {
background-color: slateblue;
transform: translateX(-150px) rotateY(90deg);
}
.right {
background-color: slategrey;
transform: translateX(150px) rotateY(-90deg);
}
html结构
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<link rel="stylesheet" href="css/mofang.css">
</head>
<body>
<div class="side">
<!-- 上 -->
<div class="top"></div>
<!-- 下 -->
<div class="bottom"></div>
<!-- 左 -->
<div class="left"></div>
<!-- → -->
<div class="right"></div>
<!-- 前 -->
<div class="front"></div>
<!-- 后 -->
<div class="back"></div>
</div>
</body>
</html>