Prettify File Input

A good example on changing file input with a label to input connection.

by Riffic

HTML

<label for="getFile">Choose a File</label>
<input type="file" id="getFile" />

CSS

label {
    width: 150px;
    height: 25px;
    line-height: 25px;
    text-align: center;
    background: rgb(206,220,231); /* Old browsers */
    background: -moz-linear-gradient(top,  rgba(206,220,231,1) 0%, rgba(89,106,114,1) 100%); /* FF3.6+ */
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(206,220,231,1)), color-stop(100%,rgba(89,106,114,1))); /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(top,  rgba(206,220,231,1) 0%,rgba(89,106,114,1) 100%); /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(top,  rgba(206,220,231,1) 0%,rgba(89,106,114,1) 100%); /* Opera 11.10+ */
    background: -ms-linear-gradient(top,  rgba(206,220,231,1) 0%,rgba(89,106,114,1) 100%); /* IE10+ */
    background: linear-gradient(to bottom,  rgba(206,220,231,1) 0%,rgba(89,106,114,1) 100%); /* W3C */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#cedce7', endColorstr='#596a72',GradientType=0 ); /* IE6-9 */

    border: 1px solid #E2E2E2;
    border-radius: 15px;
    display: block;
}
label:hover {
    color: #FFF;
    border: 1px solid #EEEEEE;
    box-shadow: 1px 1px 3px #000;
}

#getFile {
    position: absolute;
    left: -9999px;
}