Osvaldas Valutis is right, using the <label>
to trigger the native browser functionality is the way to go. Then style up the label as needed, enhancing with some JavaScript if you like. Same concept as the checkbox hack.
Styling & Customizing File Inputs the Smart Way
UGURUS offers elite coaching and mentorship for agency owners looking to grow. Start with the free Agency Accelerator today.