Comment puis-je style un champ de saisie fichier dans Firefox?
Je suis actuellement en train de faire le front-end pour un site avec looooads de formes, de tout style et de la recherche jolie dans IE, mais je viens de remarqué que dans Firefox, le fichier de champs de saisie ne répondent pas à l'un de mes styles, tous les autres types de champs de saisie sont très bien. Je l'ai vérifié dans Firebug et sa associer le bon style, mais ne change pas la façon dont il regarde.
Si ce n'est pas complète pet cerveau en mon nom, alors est-ce un problème connu dans Firefox? Et si oui, comment ai-je jamais remarqué avant?
Voici un exemple de code.
CSS:
form.CollateralForm input,
form.CollateralForm textarea
{
width:300px;
font-size:1em;
border: solid 1px #979797;
font-family: Verdana, Helvetica, Sans-Serif;
}
HTML:
<form method="bla" action="blah" class="CollateralForm">
<input type="file" name="descriptionFileUpload" id="descriptionFileUpload" />
</form>
J'ai aussi essayé d'appliquer une classe à elle, mais cela ne fonctionne pas non plus.
- Cette question est un doublon. Voir: http://stackoverflow.com/questions/269582/setting-uniform-input-typefile-width-in-all-browsers#269602
Vous devez vous connecter pour publier un commentaire.
Beaucoup de réponses ci-dessus sont assez vieux. En 2013 une solution beaucoup plus simple existe: presque tous les navigateurs actuels...
passer à travers les événements de clic sur les étiquettes. Essayer ici: http://jsfiddle.net/rvCBX/7/
<label>
cependant vous vous souhaitez que votre téléchargement de fichiers à être.for="someid"
attribut sur l'étiquette<input id="someid">
élément, qui est cachée.Cliquant sur l'étiquette de relais de l'événement à la fileupload dans Chrome, IE et Safari.
Firefox nécessite une très petite solution de contournement, qui est détaillé dans cette réponse.
display: block
dans votre exemple jsfiddle.net/prashantptapase/rvCBX/200Firefox peut être piraté en utilisant le code HTML de saisie de la taille de l'attribut:
size="40"
lors de l'utilisation d'un css largeur de contrôle de la largeur du terrain sur le bouton + dans la mise en page
Disons que vous avez votre entrée:
Créer un faux bouton à l'aide de jQuery.
Style le bouton au-dessus de n'importe quelle façon. Alors:
Customformsjs pluggin répondre à cette question à son Fichier de classe de module.
http://customformsjs.com/doc/File.html
http://customformsjs.com/doc/File.js.html
Fondamentalement, il rend possible le type de Fichier de style de champs de saisie avec certaines restrictions. Il travail en l'enveloppant dans un récipient et de le rendre transparent, de sorte que votre clic. La page de démonstration montre en action
Utilisation de cheat code ( # ) en face de l'attribut de classe css
dire: