1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
|
body
{
}
.cube1
{
position: absolute;
width: 75px;
height: 75px;
/* Forcer le navigateur à conserver le mode de rendu 3d (ce qui n'est pas le cas par défaut) */
-webkit-transform-style: preserve-3d;
-moz-transform-style: preserve-3d;
-ms-transform-style: preserve-3d;
-o-transform-style: preserve-3d;
transform-style: preserve-3d;
/* Application d'une animation sur l'élément .cube (qui contient nos faces) */
-webkit-animation: rotate-cube 15s linear infinite;
animation: rotate-cube 15s linear infinite;
}
/** Toutes les faces du cube ont la classe .cubeface
(plus pratique que d'écrire #face1, #face2, ...)
**/
.cubeface1
{
position: absolute;
/** Application d'une transition pour
avoir un effet d'interpolation entre
l'état normal et l'état :hover pour
chaque face
**/
-webkit-transition: all 600ms;
-moz-transition: all 600ms;
-ms-transition: all 600ms;
-o-transition: all 600ms;
transition: all 600ms;
}
/** On déplace chaque face dans l'espace indépendamment,
pour construire notre cube
**/
#face7 {
-webkit-transform: translateZ(37px);
-moz-transform: translateZ(37px);
-ms-transform: translateZ(37px);
-o-transform: translateZ(37px);
transform: translateZ(37px);
}
#face8 {
-webkit-transform: translateX(37px) rotateY(90deg);
-moz-transform: translateX(37px) rotateY(90deg);
-ms-transform: translateX(37px) rotateY(90deg);
-o-transform: translateX(37px) rotateY(90deg);
transform: translateX(37px) rotateY(90deg);
}
#face9 {
-webkit-transform: translateX(-37px) rotateY(-90deg);
-moz-transform: translateX(-37px) rotateY(-90deg);
-ms-transform: translateX(-37px) rotateY(-90deg);
-o-transform: translateX(-37px) rotateY(-90deg);
transform: translateX(-37px) rotateY(-90deg);
}
#face10 {
-webkit-transform: translateZ(-37px);
-moz-transform: translateZ(-37px);
-ms-transform: translateZ(-37px);
-o-transform: translateZ(-37px);
transform: translateZ(-37px);
}
#face11 {
-webkit-transform: translateY(37px) rotateX(90deg);
-moz-transform: translateY(37px) rotateX(90deg);
-ms-transform: translateY(37px) rotateX(90deg);
-o-transform: translateY(37px) rotateX(90deg);
transform: translateY(37px) rotateX(90deg);
}
#face12 {
-webkit-transform: translateY(-37px) rotateX(-90deg);
-moz-transform: translateY(-37px) rotateX(-90deg);
-ms-transform: translateY(-37px) rotateX(-90deg);
-o-transform: translateY(-37px) rotateX(-90deg);
transform: translateY(-37px) rotateX(-90deg);
}
/** Définition du comportement de l'animation qui fera tourner le cube **/
@-webkit-keyframes rotate-cube
{
from { -webkit-transform: rotateY(0deg) rotateZ(0deg); }
to { -webkit-transform: rotateY(360deg) rotateZ(360deg); }
}
@keyframes rotate-cube
{
from { transform: rotateY(0deg) rotateZ(0deg); }
to { transform: rotateY(360deg) rotateZ(360deg); }
} |
Partager