lundi 8 mars 2010

Stylez vos champs input type="file"

C'est plutot frustrant, les input type="text" ne se style pas comme les autres.... 
Vous voulez quand même les styler et vous avez bien raison. Voici une solution :
 
 Joignez ces styles :
 
label.FileLabel
{
    width: 79px;
    height: 22px;
    background: url(myIMAGE.png) 0 0 no-repeat;

    display: block;
    overflow: hidden;
    cursor: pointer;
}
 

label.FileLabel input.file
{
    position: relative;
    height: 100%;
    width: auto;
    opacity: 0;
    -moz-opacity: 0;
    filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);
} 
Il faut ensuite entourer votre bouton de choix de fichier comme ceci :
<label class="FileLabel">

<input type="file" class="file" name="myFile"/>

</label>

Exemple :

1 commentaire:

  1. Excellent petit tuto.
    Cependant, j'ai exactement le même code et le curseur ne se modifie pas. (Le cursor:pointer ne fais pas effet).

    Vous savez d'où ça peut venir ?

    Merci d'avance.

    RépondreSupprimer

Bonjour,