Button Hover

by Michael Tetteris

HTML

<h1>Button CSS Animations</h1>
<a class="button ltr" href="#">Left to Right</a>
<a class="button ttb" href="#">Top to Bottom</a>
<a class="button rtl" href="#">Right to Left</a>
<a class="button btt" href="#">Bottom to Top</a>

CSS

@import url(http://fonts.googleapis.com/css?family=Open+Sans:400,700);

body {
    font-family: 'Open Sans', sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 14px;    
}

h1
{
  text-align: center;
}

.button
{
    text-decoration:none;
    background: #5BC2DC;
    border: 3px solid #5BC2DC;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    border-radius: 2px;
    color: #fff;
    cursor: pointer;
    margin: 10px;
    padding: 8px 15px;
    text-align: center;
    -webkit-transition: all 0.5s ease-out;
    -moz-transition: all 0.5s ease-out;
    -o-transition: all 0.5s ease-out;
    transition: all 0.5s ease-out;
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
}

.button:hover
{
    border:3px solid #2D8196;
}

.button:before
{
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #2D8196;
}

.ltr:before
{
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: 0 50%;
    transform-origin: 0 50%;
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-duration: 0.5s;
    transition-duration: 0.5s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out;
}

.ltr:hover:before, .ltr:focus:before, .ltr:active:before {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
}


.ttb:before
{
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transform-origin: 50% 0;
    transform-origin: 50% 0;
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-duration: 0.5s;
    transition-duration: 0.5s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out;
}

.ttb:hover:before, .ttb:focus:before, .ttb:active:before {
    -webkit-transform: scaleY(1);
    transform:...