Ciao,
Ti spiego il mio metodo, potrebbe tornarti utile, io lo uso per le select ma non dovresti avere problemi:
Wrappi l'input in un contenitore (ti consiglio span) con una classe, diciamo "classe-contenitore", a questa classe dai:
codice:
.classe-contenitore {
display: block;
overflow: hidden;
position: relative;
z-index: 998;
}
e tutte le regole che ti possano servire (background, width, ecc... questo sarà l'input fake visibile all'utente).
All'input vero (a cui ho messo una classe "classe-input") invece, dai:
codice:
.classe-input {
position: absolute;
top: 0;
left: 0;
opacity: 0;
filter: alpha(opacity=0);
z-index: 999;
}
In questo modo avrai visibile solo l'input fake, ma essendo l'input vero sopra al precedente, cliccandoci funzionera normalmente.
Spero di essere stato chiaro, se hai dubbi chiedimi pure