< 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); } }