body {
height: 100%;
margin: 0;
padding: 0;
}
.wrapper {
height: 310px;
left: 50%;
margin: -150px 0 0 -150px;
overflow: hidden;
position: absolute;
top: 50%;
width: 310px;
}
.box {
background: #EEE;
cursor: pointer;
float: left;
height: 145px;
margin: 0 10px 10px 0;
overflow: hidden;
position: relative;
width: 145px;
}
.inner {
background: #CCC;
height: 100%;
left: 0;
position: absolute;
top: 0;
width: 100%;
-webkit-transform: translate3d(-100%, 0, 0);
-webkit-animation-duration: 0.15s;
-webkit-animation-timing-function: ease-out;
-webkit-animation-fill-mode: forwards;
-moz-transform: translate3d(-100%, 0, 0);
-moz-animation-duration: 0.15s;
-moz-animation-timing-function: ease-out;
-moz-animation-fill-mode: forwards;
transform: translate3d(-100%, 0, 0);
animation-duration: 0.15s;
animation-timing-function: ease-out;
animation-fill-mode: forwards;
}
/* Top */
.box.hover-enter-top .inner {
-webkit-animation-name: slide_in_top;
-moz-animation-name: slide_in_top;
animation-name: slide_in_top;
}
.box.hover-leave-top .inner {
-webkit-animation-name: slide_out_top;
-moz-animation-name: slide_out_top;
animation-name: slide_out_top;
}
/* Right */
.box.hover-enter-right .inner {
-webkit-animation-name: slide_in_right;
-moz-animation-name: slide_in_right;
animation-name: slide_in_right;
}
.box.hover-leave-right .inner {
-webkit-animation-name: slide_out_right;
-moz-animation-name: slide_out_right;
animation-name: slide_out_right;
}
/* Bottom */
.box.hover-enter-bottom .inner {
-webkit-animation-name: slide_in_bottom;
-moz-animation-name: slide_in_bottom;
animation-name: slide_in_bottom;
}
.box.hover-leave-bottom .inner {
-webkit-animation-name: slide_out_bottom;
-moz-animation-name: slide_out_bottom;
animation-name: slide_out_bottom;
}
/* Left */
.box.hover-enter-left .inner {
-webkit-animation-name: slide_in_left;
-moz-animation-name: slide_in_left;
animation-name: slide_in_left;
}
.box.hover-leave-left .inner {
-webkit-animation-name: slide_out_left;
-moz-animation-name: slide_out_left;
animation-name: slide_out_left;
}

/* Top */
@-webkit-keyframes slide_in_top {
 0% {
-webkit-transform: translate3d(0, -100%, 0);
}
 100% {
-webkit-transform: translate3d(0, 0, 0);
}
}
@-webkit-keyframes slide_out_top {
 0% {
-webkit-transform: translate3d(0, 0, 0);
}
 100% {
-webkit-transform: translate3d(0, -100%, 0);
}
}
@-moz-keyframes slide_in_top {
 0% {
-moz-transform: translate3d(0, -100%, 0);
}
 100% {
-moz-transform: translate3d(0, 0, 0);
}
}
@-moz-keyframes slide_out_top {
 0% {
-moz-transform: translate3d(0, 0, 0);
}
 100% {
-moz-transform: translate3d(0, -100%, 0);
}
}
@keyframes slide_in_top {
 0% {
transform: translate3d(0, -100%, 0);
}
 100% {
transform: translate3d(0, 0, 0);
}
}
@keyframes slide_out_top {
 0% {
transform: translate3d(0, 0, 0);
}
 100% {
transform: translate3d(0, -100%, 0);
}
}

/* Right */
@-webkit-keyframes slide_in_right {
 0% {
-webkit-transform: translate3d(100%, 0, 0);
}
 100% {
-webkit-transform: translate3d(0, 0, 0);
}
}
@-webkit-keyframes slide_out_right {
 0% {
-webkit-transform: translate3d(0, 0, 0);
}
 100% {
-webkit-transform: translate3d(100%, 0, 0);
}
}
@-moz-keyframes slide_in_right {
 0% {
-moz-transform: translate3d(100%, 0, 0);
}
 100% {
-moz-transform: translate3d(0, 0, 0);
}
}
@-moz-keyframes slide_out_right {
 0% {
-moz-transform: translate3d(0, 0, 0);
}
 100% {
-moz-transform: translate3d(100%, 0, 0);
}
}
@keyframes slide_in_right {
 0% {
transform: translate3d(100%, 0, 0);
}
 100% {
transform: translate3d(0, 0, 0);
}
}
@keyframes slide_out_right {
 0% {
transform: translate3d(0, 0, 0);
}
 100% {
transform: translate3d(100%, 0, 0);
}
}

/* Bottom */
@-webkit-keyframes slide_in_bottom {
 0% {
-webkit-transform: translate3d(0, 100%, 0);
}
 100% {
-webkit-transform: translate3d(0, 0, 0);
}
}
@-webkit-keyframes slide_out_bottom {
 0% {
-webkit-transform: translate3d(0, 0, 0);
}
 100% {
-webkit-transform: translate3d(0, 100%, 0);
}
}
@-moz-keyframes slide_in_bottom {
 0% {
-moz-transform: translate3d(0, 100%, 0);
}
 100% {
-moz-transform: translate3d(0, 0, 0);
}
}
@-moz-keyframes slide_out_bottom {
 0% {
-moz-transform: translate3d(0, 0, 0);
}
 100% {
-moz-transform: translate3d(0, 100%, 0);
}
}
@keyframes slide_in_bottom {
 0% {
transform: translate3d(0, 100%, 0);
}
 100% {
transform: translate3d(0, 0, 0);
}
}
@keyframes slide_out_bottom {
 0% {
transform: translate3d(0, 0, 0);
}
 100% {
transform: translate3d(0, 100%, 0);
}
}

/* Left */
@-webkit-keyframes slide_in_left {
 0% {
-webkit-transform: translate3d(-100%, 0, 0);
}
 100% {
-webkit-transform: translate3d(0, 0, 0);
}
}
@-webkit-keyframes slide_out_left {
 0% {
-webkit-transform: translate3d(0, 0, 0);
}
 100% {
-webkit-transform: translate3d(-100%, 0, 0);
}
}
@-moz-keyframes slide_in_left {
 0% {
-moz-transform: translate3d(-100%, 0, 0);
}
 100% {
-moz-transform: translate3d(0, 0, 0);
}
}
@-moz-keyframes slide_out_left {
 0% {
-moz-transform: translate3d(0, 0, 0);
}
 100% {
-moz-transform: translate3d(-100%, 0, 0);
}
}
@keyframes slide_in_left {
 0% {
transform: translate3d(-100%, 0, 0);
}
 100% {
transform: translate3d(0, 0, 0);
}
}
@keyframes slide_out_left {
 0% {
transform: translate3d(0, 0, 0);
}
 100% {
transform: translate3d(-100%, 0, 0);
}
}
