La premessa di base dietro pulsanti di input file di stile è quello di sovrapporre i controlli posizionati in modo assoluto sul file caricare. L'opacità del caricamento del file è impostata su 0, causando la mancata visualizzazione. L'indice z è impostato sopra i controlli sovrapposti, mentre l'indice z dei controlli è impostato su un valore inferiore rispetto al caricamento del file. Così, quando l'utente pensa che sono cliccando i controlli sovrapposti che sono in realtà clic sul file caricare con opacità impostata a 0.
Ecco un esempio davvero grezzi:
HTML
<div id="file-upload-cont">
<input id="original" type="file"/>
<div id="my-button">Find</div>
<input id="overlay"/>
</div>
CSS
#my-button{
position: absolute;
border: 1px solid black;
background: green;
padding 3px;
width: 50px;
height: 25px;
text-align: center;
left: 148px; /* Positioning over file-upload */
top: 0px;
z-index: 1; /* Lower z-index causes controls to sit under file upload */
}
#overlay{
position: absolute;
z-index: 1; /* Lower z-index causes controls to sit under file upload */
left: 0; /* Positioning over file-upload */
}
#original{
opacity: 0; /* Opacity makes it invisible*/
position: relative;
z-index: 100; /* z-index causes original file upload to sit above other controls*/
}
#file-upload-cont{
position: relative;
}
Esempio di lavorohttp://jsfiddle.net/tP8KY/1/
fonte
2013-03-20 09:19:42
possibile duplicato di [Qual è il modo migliore per sostituire il pulsante Sfoglia file in html?] (Http://stackoverflow.com/questions/108149/what-is-the-best-way- to-replace-the-file-browse-button-in-html) –
@Manjit Singh sarebbe utile se fosse possibile selezionare una risposta - sono passati due anni. – Cody
oops @DoctorOreo .. Mi sono dimenticato di selezionare la risposta. Grazie per averlo ricordato. –