Css 3D Bottom Menu
by HYEONGJINKIM
HTML
<ul class="tabs">
<li>
<div class="fold">
<h3>Introduction</h3>
<p>In aliquam nisi nec mauris ultricies eleifend. Vivamus sit amet vulputate tellus. Cras eu purus ac diam.</p>
</div>
<a href="#" class="more">More</a>
</li>
<li>
<div class="fold">
<h3>Another Section</h3>
<p>Mauris vehicula placerat erat, vitae condimentum magna volutpat ac. Cras tortor lorem, rhoncus at tortor id.</p>
</div>
<a href="#" class="more">More</a>
</li>
<li>
<div class="fold">
<h3>Further reading</h3>
<p>Ut et pharetra velit, vitae dictum erat. Morbi sit amet dictum eros. Curabitur hendrerit leo at lectus eleifend, a volutpat.</p>
</div>
<a href="#" class="more">More</a>
</li>
</ul>
CSS
* {
box-spacing: border-box;
}
body {
background: #FFF;
}
.tabs {
display: block;
list-style: none;
margin: 0 auto;
padding: 0;
width: 800px;
}
.tabs * {
transition: all 350ms cubic-bezier(.7, .5, .3, 1);
}
.tabs li {
border-right: 1px solid #FFF;
counter-increment: tab;
display: inline;
-webkit-perspective: 350px;
float: left;
height: 90px;
opacity: 0;
overflow: hidden;
padding-top: 100px;
position: relative;
-webkit-transform-origin: 50% 0;
-webkit-transform: translateY(400px);
-webkit-transition: all 600ms cubic-bezier(.3, .7, .1, 1);
width: 33%;
vertical-align: top;
}
/* Initial transition */
.tabs li:nth-child(2) {
-webkit-transition-delay: 150ms;
}
.tabs li:nth-child(3) {
-webkit-transition-delay: 300ms;
}
.ready .tabs li {
opacity: 1;
-webkit-transform: translateY(0);
}
.tabs li .fold {
-webkit-backface-visibility: hidden;
-webkit-transform-style: preserve-3d;
}
/* Tab heading */
.tabs li h3 {
-webkit-backface-visibility: hidden;
background: #444;
color: #FFF;
font-size: 13px;
line-height: 50px;
margin: 0;
height: 50px;
text-transform: uppercase;
}
.tabs li h3:before {
background-repeat: no-repeat;
background-position: 50% 50%;
background-origin: content-box;
background-size: contain;
border: 2px solid rgba(255, 255, 255, .2);
border-radius: 100%;
color: rgba(255, 255, 255, .6);
content: counter(tab);
display: block;
float: left;
font-size: 12px;
font-weight: 400;
height: 24px;
line-height: 25px;
margin: 10px 10px 0 10px;
text-align: center;
width: 24px;
}
/* Revealed copy */
li .fold p {
backface-visibility: hidden;
background: #222;
color: #222;
font-size: 12px;
line-height: 140%;
height: 55px;
margin: -1px 0 0;
padding: 5px 15px 15px;
-webkit-transform: rotateX(-60deg);
-webkit-transform-origin: 50% 0;
}
/* Call to action */
.tabs li .more {
-webkit-backface-visibility: hidden;
background: #EAEAEA;
bottom: 0;
...
JavaScript
jQuery(function() {
setTimeout(function(){
$('body').addClass('ready');
}, 10);
});