<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.wrap{
width: 300px;
height: 300px;
border: 1px solid black;
margin: 0 auto;
position: relative;
perspective: 400px;
perspective-origin: center center;
}
.box{
width: 100px;
height: 100px;
/* background-color: red; */
position: absolute;
left: 50%;
top: 50%;
margin-left: -50px;
margin-right: -50px;
transform-style: preserve-3d;
transform-origin: center center;
transition: all linear 3s;
}
.box div:nth-child(1){
width: 100%;
height: 100%;
background-color: red;
color: white;
text-align: center;
line-height: 100px;
font-size: 30px;
}
.box div:nth-child(2){
width: 100%;
height: 100%;
background-color:orange;
color: white;
text-align: center;
line-height: 100px;
font-size: 30px;
position: absolute;
top: 100px;
left: 0;
transform: rotateX(-90deg);
transform-origin: top center;
}
.box div:nth-child(3){
width: 100%;
height: 100%;
background-color: yellow;
color: white;
text-align: center;
line-height: 100px;
font-size: 30px;
position: absolute;
top: -100px;
left: 0;
transform: rotateX(90deg);
transform-origin: bottom center;
}
.box div:nth-child(4){
width: 100%;
height: 100%;
background-color:green;
color: white;
text-align: center;
line-height: 100px;
font-size: 30px;
position: absolute;
left: -100px;
top: 0;
transform: rotateY(-90deg);
transform-origin: right center;
}
.box div:nth-child(5){
width: 100%;
height: 100%;
background-color:rgb(45, 110, 45);
color: white;
text-align: center;
line-height: 100px;
font-size: 30px;
position: absolute;
left: 100px;
top: 0;
transform: rotateY(90deg);
transform-origin:left center;
}
.box div:nth-child(6){
width: 100%;
height: 100%;
background-color:green;
color: white;
text-align: center;
line-height: 100px;
font-size: 30px;
position: absolute;
left: 0;
top: 0;
transform: rotateX(180deg) translateZ(100px);
transform-origin: center center;
}
.box:hover{
transform: rotateY(180deg);
}
</style>
</head>
<body>
<div class="wrap">
<div class="box">
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
</div>
</div>
</body>
</html>
3D效果-长方形
最新推荐文章于 2022-11-21 10:45:00 发布