Hej, czy mógłbym prosić o pomoc w rozwiązaniu problemu?
Stworzyłem projekt który ma przedstawiać kostkę 3D razem z animacją po najechaniu, ale animacja rozjeżdża się w pewnym momencie i nie wiem jak to naprawić.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Kostka</title>
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body>
<div class="wrapper">
<div id="box-area">
<div class="box box-front">1</div>
<div class="box box-left">2</div>
<div class="box box-back">3</div>
<div class="box box-right">4</div>
<div class="box box-top">5</div>
<div class="box box-bottom">6</div>
</div>
</div>
</body>
</html>
* {
margin:0;
padding: 0;
}
body {
height: 100vh;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
}
.wrapper {
width: 300px;
height: 300px;
-webkit-perspective: 1000px;
perspective: 1000px;
-webkit-transition: 5s all;
-o-transition: 5s all;
transition: 5s all;
}
.wrapper:hover {
-webkit-transform: rotateY(360deg) rotateX(360deg);
transform: rotateY(360deg) rotateX(360deg);
}
.box-area {
width: 100%;
height: 100%;
position: relative;
-webkit-transform: translateZ(-100px);
transform: translateZ(-100px);
-webkit-transform-style: preserve-3d;
transform-style: preserve-3d;
}
.box {
position: absolute;
width: 300px;
height: 300px;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
font-size: 50px;
}
.box-front {
background-color: red;
-webkit-transform: rotate3d(0, 1, 0, 0deg) translateZ(150px);
transform: rotate3d(0, 1, 0, 0deg) translateZ(150px);
}
.box-left {
background-color: blue;
-webkit-transform: rotate3d(0, 1, 0, 90deg) translateZ(150px);
transform: rotate3d(0, 1, 0, 90deg) translateZ(150px);
}
.box-back {
background-color: yellow;
-webkit-transform: rotate3d(0, 1, 0, 180deg) translateZ(150px);
transform: rotate3d(0, 1, 0, 180deg) translateZ(150px);
}
.box-right {
background-color: black;
-webkit-transform: rotate3d(0, 1, 0, 270deg) translateZ(150px);
transform: rotate3d(0, 1, 0, 270deg) translateZ(150px);
}
.box-top {
background-color: purple;
-webkit-transform: rotate3d(1, 0, 0, 90deg) translateZ(150px);
transform: rotate3d(1, 0, 0, 90deg) translateZ(150px);
}
.box-bottom {
background-color: green;
-webkit-transform: rotate3d(1, 0, 0, -90deg) translateZ(150px);
transform: rotate3d(1, 0, 0, -90deg) translateZ(150px);
}