Il Width funziona.
Prova 1:


Prova 2 (con un width maggiore):


Come Prova 2 ma con Firebug che mostra il box dell'INPUT di tipo FILE:


Il width dunque riguarda l'intero oggetto.
Tuttavia, ciò che non è possibile specificare, è il width dei componenti INTERNI. In particolare del pulsante e dell'input testuale. Per questo non esiste alcuna specifica CSS che dica come si può accedere alle componenti interne.
Firefox quindi non ignora il width del componente in sé, ma non sa come regolare le dimensioni dei componenti interni perché nessuno glie l'ha detto e non è possibile dirglielo perché non esiste alcun comando CSS per farlo.
È per esempio possibile allineare il contenuto a destra, sinistra e centro con text-align, è persino possibile allargarlo modificando il letter-spacing... ma non potendo riferirsi ai singoli elementi interni che compongono l'INPUT di tipo FILE non è possibile stilarli direttamente.
Se si segue il discorso su bugzilla si vede che semplicemente non si sa come procedere. Il CSS non ne parla, il W3 non dice che fare, d'altra parte non si vuole introdurre concetti che poi risultino sbagliati quando il W3 prenderà una posizione in merito.
La soluzione migliore probabilmente è quella di sostituire completamente l'elemento di tipo FILE con questo


generalizzato però a tutti i tipi di file.
In questo modo si evita di dover parlare di componenti interne agli oggetti base HTML visto che, probabilmente (non mi vengono in mente altri componenti simili), l'INPUT di tipo FILE è l'unico componente che, per ragioni storiche, è un componente composto e forse non si vuole inventarsi uno standard solo per questo.
Prova 1:

Prova 2 (con un width maggiore):

Come Prova 2 ma con Firebug che mostra il box dell'INPUT di tipo FILE:

Il width dunque riguarda l'intero oggetto.
Tuttavia, ciò che non è possibile specificare, è il width dei componenti INTERNI. In particolare del pulsante e dell'input testuale. Per questo non esiste alcuna specifica CSS che dica come si può accedere alle componenti interne.
Firefox quindi non ignora il width del componente in sé, ma non sa come regolare le dimensioni dei componenti interni perché nessuno glie l'ha detto e non è possibile dirglielo perché non esiste alcun comando CSS per farlo.
È per esempio possibile allineare il contenuto a destra, sinistra e centro con text-align, è persino possibile allargarlo modificando il letter-spacing... ma non potendo riferirsi ai singoli elementi interni che compongono l'INPUT di tipo FILE non è possibile stilarli direttamente.
Se si segue il discorso su bugzilla si vede che semplicemente non si sa come procedere. Il CSS non ne parla, il W3 non dice che fare, d'altra parte non si vuole introdurre concetti che poi risultino sbagliati quando il W3 prenderà una posizione in merito.
La soluzione migliore probabilmente è quella di sostituire completamente l'elemento di tipo FILE con questo

generalizzato però a tutti i tipi di file.
In questo modo si evita di dover parlare di componenti interne agli oggetti base HTML visto che, probabilmente (non mi vengono in mente altri componenti simili), l'INPUT di tipo FILE è l'unico componente che, per ragioni storiche, è un componente composto e forse non si vuole inventarsi uno standard solo per questo.
-
INPUT type="upload" @ 2011-09-09 21:00:00.0 di Daisuke Niwa
-
■ @ 2011-09-10 03:14:00.0 di altg
-
■ @ 2011-09-09 21:16:00.0 di Non Autenticato
-
■ @ 2011-09-09 21:34:00.0 di Daisuke Niwa
-
-