An idea for a dashboard type page or something. Pure css. JS is only used to bypass the transition on page load. Still needs work.
A Pen by Seth Abbott on CodePen.
An idea for a dashboard type page or something. Pure css. JS is only used to bypass the transition on page load. Still needs work.
A Pen by Seth Abbott on CodePen.
<div class="wrapper preload"> | |
<section class="grid-unit top-left"> | |
<div class="swing-panel"> | |
<span class="desc">What does this guy think he is doing?</span> | |
</div> | |
<div class="sphere"> | |
<span class="entypo-book-open icon"></span> | |
</div> | |
</section> | |
<section class="grid-unit top-right"> | |
<div class="swing-panel"> | |
<span class="desc">This pen is the worst thing I have even seen!</span> | |
</div> | |
<div class="sphere"> | |
<span class="entypo-chat icon"></span> | |
</div> | |
</section> | |
<section class="grid-unit bottom-left"> | |
<div class="swing-panel"> | |
<span class="desc">Whatever, I'm going to get a beer!</span> | |
</div> | |
<div class="sphere"> | |
<span class="entypo-tools icon"></span> | |
</div> | |
</section> | |
<section class="grid-unit bottom-right"> | |
<div class="swing-panel"> | |
<span class="desc">One does not simply animate panels.</span> | |
</div> | |
<div class="sphere"> | |
<span class="entypo-picture icon"></span> | |
</div> | |
</section> | |
</div><!-- end wrapper --> |
jQuery(function(){ | |
$(window).load(function(){ | |
$('.wrapper').removeClass('preload'); | |
}); | |
}); |
@import url(http://fonts.googleapis.com/css?family=Oxygen); | |
@import url(http://weloveiconfonts.com/api/?family=entypo); | |
[class*="entypo-"]:before { | |
font-family: 'entypo', sans-serif; | |
} | |
* { | |
box-sizing: border-box; | |
} | |
.preload * { | |
transition: none !important; | |
} | |
html | |
{ | |
position: relative; | |
min-height: 100%; | |
} | |
body { | |
background: #fff; | |
} | |
body, | |
.wrapper{ | |
position: absolute; | |
left: 0; | |
top: 0; | |
right: 0; | |
bottom: 0; | |
} | |
.grid-unit { | |
position: relative; | |
float: left; | |
border-top: 10px solid #fff; | |
border-left: 10px solid #fff; | |
width: 50%; | |
height: 50%; | |
perspective: 500; | |
overflow: hidden; | |
} | |
.top-left { | |
background: rgba(236,208,120,1); | |
} | |
.top-right { | |
background: rgba(217,91,67,1); | |
border-right: 10px solid #fff; | |
} | |
.bottom-right { | |
background: rgba(192,41,66,1); | |
border-bottom: 10px solid #fff; | |
border-right: 10px solid #fff; | |
} | |
.bottom-left { | |
background: rgba(84,36,55,1); | |
border-bottom: 10px solid #fff; | |
} | |
.swing-panel { | |
position: absolute; | |
top: 0; | |
left: 0; | |
width: 100%; | |
height: 100%; | |
font-size: 2.5em; | |
color: #fff; | |
font-family: Oxygen, arial, sans-serif; | |
transform-origin: left 50%; | |
transform: rotateY(120deg); | |
transition: transform .5s ease; | |
letter-spacing: -.05em; | |
text-shadow: 0 1px 0 rgba(0,0,0,.2); | |
} | |
.top-right .swing-panel, | |
.bottom-right .swing-panel{ | |
transform-origin: right 50%; | |
transform: rotateY(-120deg); | |
} | |
.desc { | |
display: block; | |
position: absolute; | |
padding: 5%; | |
} | |
.top-left .desc { | |
top: 0; | |
left: 0; | |
} | |
.top-right .desc { | |
top: 0; | |
right: 0; | |
} | |
.bottom-left .desc { | |
bottom: 0; | |
left: 0; | |
} | |
.bottom-right .desc { | |
bottom: 0; | |
right: 0; | |
} | |
.grid-unit:hover .swing-panel { | |
transform: rotateY(0deg); | |
} | |
.sphere { | |
position: absolute; | |
width: 200px; | |
height: 200px; | |
background-color: rgba(255,255,255,1); | |
border-radius: 500px; | |
transition: background-color .25s ease; | |
opacity: 1; | |
} | |
.top-left .sphere { | |
right: -100px; | |
bottom: -100px; | |
} | |
.top-right .sphere { | |
left: -100px; | |
bottom: -100px; | |
} | |
.bottom-right .sphere { | |
left: -100px; | |
top: -100px; | |
} | |
.bottom-left .sphere { | |
right: -100px; | |
top: -100px; | |
} | |
.grid-unit:hover .sphere { | |
background-color: rgba(255,255,255,0); | |
} | |
.icon { | |
position: absolute; | |
font-size: 2.5em; | |
transition: color .25s ease; | |
} | |
.bottom-left .icon { | |
bottom: 18%; | |
left: 18%; | |
color: rgba(84,36,55,1); | |
} | |
.bottom-right .icon { | |
bottom: 18%; | |
right: 18%; | |
color: rgba(192,41,66,1); | |
} | |
.top-right .icon { | |
top: 18%; | |
right: 18%; | |
color: rgba(217,91,67,1); | |
} | |
.top-left .icon { | |
top: 18%; | |
left: 18%; | |
color: rgba(236,208,120,1); | |
} | |
.swing-panel:hover .icon { | |
color: #fff; | |
} |