
Check out the following demo with code to style file input select button as a web browser do not allow to style it directly like a div element.
It’s a bit of jQuery to copy the file name and display it inside label, and some CSS to hide the original input. You can style label anyway according to your needs.