Less ugly HTML file input

Most of us have a love-hate relationship with the standard HTML file input element:

It is ugly, and every browser implements it in a slightly different way. And on top of that, it's impossible to style with CSS-rules. As a result, the file input never visually integrates with the rest of your page.

But our beloved file input can also look like this:

Or like this:

Or even:

Just use Stylefile, a small piece of Javascript and the standard file input element can be styled like the rest of your HTML-page.