HTML:
<div class="phone-container">
<div class="phone">
<div class="front"> </div>
<div class="back"> </div>
<div class="left"> </div>
<div class="left-top"> </div>
<div class="left-bottom"> </div>
<div class="right"> </div>
<div class="right-top"> </div>
<div class="right-bottom"> </div>
<div class="shadow"> </div>
</div>
</div>
SASS:
.phone-container
margin: 100px auto
width: 251px
height: 537px
@include perspective(1000px)
//for elevation on hover:
$elevation: 40px
$elevationDuration: 1s
$elevationTimingFunction: ease-in-out
@include transition(bottom $elevationDuration $elevationTimingFunction)
*
position: absolute
@include transition(all 1500ms)
.phone
left: 125px
@include transform-style(preserve-3d)
@include transform(rotateY(-80deg))
@include animation(rotate-phone 5s linear infinite)
.front
width: 251px
height: 537px
background: url(/images/phone_parts/front.png) no-repeat
@include transform(translateX(-125px) rotateY(0deg) translateZ(14px))
.back
width: 251px
height: 537px
background: url(/images/phone_parts/back.png) no-repeat
@include transform(translateX(-125px) rotateY(180deg) translateZ(13px))
.left
width: 31px
height: 537px
background: url(/images/phone_parts/left_side.png) no-repeat
@include transform(translateX(-138px) rotateY(-90deg))
@include border-radius(20px)
@include backface-visibility(hidden)
.left-top
background: black
width: 29px
height: 30px
top: 4px
@include transform(translateX(-129px) rotateY(-90deg) rotateX(30deg))
.left-bottom
background: black
width: 29px
height: 25px
@include transform(translateX(-131px) translateY(490px) rotateY(-90deg) rotateX(-30deg))
.right
width: 31px
height: 537px
background: url(/images/phone_parts/right_side.png) no-repeat
@include transform(translateX(105px) rotateY(90deg))
@include backface-visibility(hidden)
.right-top
background: black
width: 29px
height: 29px
top: 4px
@include transform(translateX(98px) rotateY(-90deg) rotateX(-30deg))
.right-bottom
background: black
width: 29px
height: 25px
@include transform(translateX(100px) translateY(490px) rotateY(-90deg) rotateX(30deg))
.shadow
width: 250px
height: 20px
@include transform(translateX(-125px) translateY(530px) rotateX(90deg) translateY(-60px))
@include box-shadow(0 60px 60px #000)
@inclue transition(top $elevationDuration $elevationTimingFunction)
&:hover
position: relative
bottom: $elevation
.shadow
position: relative
top: $elevation
@include keyframes(rotate-phone)
0%
@include rotateY(0)
100%
@include rotateY(360deg)