Tous les moteurs de rendu génère automatiquement un bouton lorsqu'une est créé. Historiquement, ce bouton a été complètement dénué de style. Cependant, récemment Trident et WebKit ont ajouté des crochets à travers des pseudo-éléments.
Trident
À partir de l'IE10 sur le bouton d'entrée de fichier peuvent être coiffés à l'aide du pseudo-élément ::-ms-browse
. Fondamentalement, toutes les règles CSS que vous appliquez un bouton ordinaire peuvent être appliquées au pseudo-élément. Par exemple:
<input type="file">
::-ms-browse {
background: black;
color: red;
padding: 1em;
}
Cette affiche comme suit dans IE10 sur Windows 8:

WebKit
WebKit fournit un crochet pour le bouton d'entrée de fichier avec le ::-webkit-file-upload-button
pseudo- élément. Encore une fois à peu près toute règle CSS peut être appliqué, par conséquent l'exemple Trident fonctionnera ici aussi:
<input type="file">
::-webkit-file-upload-button {
background: black;
color: red;
padding: 1em;
}
Cette affiche comme suit dans Chrome 26 sur Mac OS X:

J'ai fait trouvé ce qui fonctionne. J'avais une autre règle css héritée interagir avec mon nouveau formulaire qui a déclenché une boîte à afficher autour de l'entrée. Merci pour vos réponses rapides cependant, il m'a indiqué dans la bonne direction. À la votre! –
Pourriez-vous poster ce que votre ancienne règle css qui a brisé le style était afin que les autres puissent l'éviter? –