Take the 2-minute tour ×

I'm searching for the most prettiest way to formatting the HTML (HTML5) input fields. Are there a lot of solutions, but the all are so oldish. (the all use images, not CSS3)

I'd like a same select fields like these: https://lector.hu/en/, and I'd like to use a pretty upload area, and maybe an autosizing.

Are there any cross-browser compatibility javascript based libraries, which help to redesign the all input fields on html?

share|improve this question
add comment

1 Answer

All of the solutions you've found are "oldish" because they're still the only way to style all input elements in a cross-browser way. Even your example link uses images. This will be the case even with JavaScript libraries, which usually just dyanmically replaces input elements with spans or other more stylable element.

The problem with styling form inputs, and why you won't find any cross-browser way that doesn't use images and/or element replacement, is because form elements are actually system elements, not HTML ones.

To demonstrate, open a website with default form fields in different browsers on the same system; then open the same website on a system with a different Operating System (for example, use a Windows and a Mac machine). You'll find that there won't be much difference between the browsers when on the same system, but there will be huge differences in the same browsers across different operating systems.

Some things are stylable - such as the borders on input fields, and so may be slightly different in different browsers, but you'll notice that things like dropdowns (selects) and the upload field will be nearly identical. This is because the browser doesn't have much access to change these elements (the possible exception might be Internet Explorer, especially older versions, because of how built in to Windows it is).

So, you have two options:

  1. Bite the bullet and use images and/or JavaScript
  2. Accept that the inputs will be slightly different across browsers and platforms (which isn't necessarily a bad thing, as it creates coherence with the system the user is using)
share|improve this answer
add comment

Your Answer

