< div id=”gave3D” > < /div >
Stil dig mellem de to div tags og tryk enter, således.
< div id=”gave3D” >
< /div >
< div class="gave3D" > < div id="gave3Dbox" >< /div > < /div >
Nu skal vi lave siderne på pakken i HTML’en
< div class="gave3D" > < div id="gave3Dbox" > < /div > < /div >
Nu skal vi så sætte div kasser ind for de 6 sider på pakken.
< div class="gave3D" >
< div id="gave3Dbox" >
< div id="side1" >< /div >
< /div >
< /div > Kopier din div linje med < div id=”side1″ > < /div > og sæt den ind 5 gang under og ret så tallet så det passer med et tal til hver side. Sådan her:
< div class="gave3D" >
< div id="gave3Dbox" >
< div id="side1" >< /div >
< div id="side2" >< /div >
< div id="side3" >< /div >
< div id="side4" >< /div >
< div id="side5" >< /div >
< div id="side6" >< /div >
< /div >
< /div >Start med at give din side en baggrundsfarve under body:
body {
background-color: lightblue;
}Fortæl nu hvor henne på side at pakken skal placeres. HUSK at vi arbejder med id’er i denne opgaver så brug # i stedet for punktum foran:
#gave3D {
width: 250px;
height: 213px;
margin: 20px auto;
margin-top: 150px;
}Nu skal vi sætte boksen op i 3d, ved at bruge preserve og rotere med X, Y og Z akserne:
#gave3Dbox {
width: 200px;
height: 200px;
top: 50px;
transform-style: preserve-3d;
-moz-transform-style: preserve-3d;
-webkit-transform-style: preserve-3d;
transform: rotateX(-22deg) rotateY(-38deg) rotateZ(0deg);
-moz-transform: rotateX(-22deg) rotateY(-38deg) rotateZ(0deg);
-webkit-transform: rotateX(-22deg) rotateY(-38deg) rotateZ(0deg);
margin: auto;
position: relative;
-webkit-transition: all 0.5s ease-in-out;
transition: all 0.5s ease-in-out;
}HUSK vi har ikke rykket på siderne endnu, så alle siderne vil ligge oven på hinanden og du vil derfor kun se det som en flade:
#gave3Dbox > div {
position: absolute;
-webkit-transition: all 0.5s ease-in-out;
transition: all 0.5s ease-in-out;
width: 200px;
height: 200px;
float: left;
overflow: hidden;
opacity: 0.85;
background-color: magenta;
border: 2px pink inset;
} Nu skal vi så bygge siderne. Vi starter med #side1:
#side1 {
background-color: magenta;
border: 2px pink inset;
transform: rotateX(90deg) translateX(0px) translateY(0px) translateZ(100px);
-moz-transform: rotateX(90deg) translateX(0px) translateY(0px) translateZ(100px);
-webkit-transform: rotateX(90deg) translateX(0px) translateY(0px) translateZ(100px);
}Denne og de næste opgaver bliver at sætte de andre sider op:
#side2 {
background-color: magenta;
border: 2px pink inset;
transform: rotateY(-90deg) translateX(0px) translateY(0px) translateZ(100px);
-moz-transform: rotateY(-90deg) translateX(0px) translateY(0px) translateZ(100px);
-webkit-transform: rotateY(-90deg) translateX(0px) translateY(0px) translateZ(100px);
} Så sætter vi #side3 op:
#side3 {
background-color: magenta;
border: 2px pink inset;
transform: translateX(0px) translateY(0px) translateZ(100px);
-moz-transform: translateX(0px) translateY(0px) translateZ(100px);
-webkit-transform: translateX(0px) translateY(0px) translateZ(100px);
} ….og #side4 op:
#side4 {
background-color: magenta;
border: 2px pink inset;
transform: rotateY(90deg) translateX(0px) translateY(0px) translateZ(100px);
-moz-transform: rotateY(90deg) translateX(0px) translateY(0px) translateZ(100px);
-webkit-transform: rotateY(90deg) translateX(0px) translateY(0px) translateZ(100px);
} ….og #side5 op:
#side5 {
background-color: magenta;
border: 2px pink inset;
transform: rotateY(180deg) translateX(0px) translateY(0px) translateZ(100px);
-moz-transform: rotateY(180deg) translateX(0px) translateY(0px) translateZ(100px);
-webkit-transform: rotateY(180deg) translateX(0px) translateY(0px) translateZ(100px);
} ….og #side6 op:
#side6 {
background-color: magenta;
border: 2px pink inset;
transform: rotateX(-90deg) translateX(0px) translateY(0px) translateZ(100px);
-moz-transform: rotateX(-90deg) translateX(0px) translateY(0px) translateZ(100px);
-webkit-transform: rotateX(-90deg) translateX(0px) translateY(0px) translateZ(100px);
} Kopier din div linjen med < div class=”bond1″ > < /div > og sæt den ind som barn på alle siderne og ret så tallet så det passer med et tal til hver side. Sådan her:
< div class="gave3D" >
< div id="gave3Dbox" >
< div id="side1" >
< div class="bond1" >< /div >
< div class="bond2" >< /div >
< /div >
< div id="side2" >
< div class="bond2" >< /div >
< /div >
< div id="side3" >
< div class="bond2" >< /div >
< /div >
< div id="side4" >
< div class="bond2" >< /div >
< /div >
< div id="side5" >
< div class="bond2" >< /div >
< /div >
< div id="side6" >
< div class="bond1" >< /div >
< div class="bond2" >< /div >
< /div >
< /div >
< /div >
Her skal vi først lave .bond1. HUSK at det er en klasse vi laver nu og derfor bliver der sat punktum foran:
.bond1 {
position: absolute;
height: 30px;
width: 200px;
background-color: purple;
margin-top: 85px;
} Her skal vi nu lave .bond2:
.bond2 {
position: absolute;
height: 200px;
width: 30px;
background-color: purple;
margin-left: 85px;
} Nu skal vi nemlig animere pakken, så den roterer rundt. Igen skal vi bruge 2 animationer for at flere browsere vil se dette:
#gave3Dbox {
animation: cubeRotation 5s infinite;
-webkit-animation: cubeRotation 5s infinite; /* Safari 4.0 - 8.0 */
} Endelig skal animationen skabes:
@keyframes cubeRotation {
0% { transform: rotateX(-22deg) rotateY(-38deg) rotateZ(0deg); }
50% { transform: rotateX(-22deg) rotateY(-238deg) rotateZ(0deg); }
100% { transform: rotateX(-22deg) rotateY(-398deg) rotateZ(0deg); }
}
@-webkit-keyframes cubeRotation {
0% { -webkit-transform: rotateX(-22deg) rotateY(-38deg) rotateZ(0deg); }
50% { -webkit-transform: rotateX(-22deg) rotateY(-238deg) rotateZ(0deg); }
100% { -webkit-transform: rotateX(-22deg) rotateY(-398deg) rotateZ(0deg); }
}