I have tried many different techniques to style the input[type="button"] that is inside of an input[type="file"].
I have found one technique that uses pure CSS that allows the user to see the file name they have selected. However, it leaves out one particularly popular browser, firefox.
I have found several ways to "do" this by using JS or by simply outright hiding the output box for filename.
Links to JS or hiding methods.:
The pure CSS methods I completely stumbled upon in chrome, and afterwards found again in an answer to styling an input type file button
This CSS method works by selecting the element by its pseudo class.
In Google Chrome this is done by:
input.formelement::-webkit-file-upload-button {background-color: #443}
Where, input.formelement is the class of my file upload form and -webkit-file-upload-button is the browser-specific pseudo element.
In Internet Explorer (10+) this is done by:
input.formelement::-ms-browse {background-color: #443}
Once again, input.formelement is the class of my file upload form and -ms-browse is browser-specific pseudo element.
Is there any way to do this in FireFox without Javascript?