Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
A jQuery Plugin to style HTML select lists
JavaScript CSS
Branch: original

Merge pull request #4 from aztechy/patch-1

Correcting spelling errors.
latest commit 60291efc78
@fparent authored

README

Have you ever tried styling an HMTL form? Had a good time reproducing the "select" list from your client's funky Photoshop mockup? Probably Not.

By now you must have found out that HTML select lists are pretty limited style-wise. You can't reshape them as you want and the default appearance is based on the browser/OS. For example, the toggle arrow can't be replaced and is different in Firefox then Internet Explorer. You also can't use custom images as background for the dropdown lists, which can be seriously annoying for designers/developers.

It might not be the best UX practice to redesign form elements to blend into the page design, because users are accustomed and know how to use them. However, when trying to create gorgeous designs or please the client, the choice might not be yours.

This is where this small plugin comes into play.
What does it do exactly?

Basically, this jQuery plugin allows you to create select lists for HTML forms using semantic markup, and then style them exactly as you want. To do so, it creates a brand new, fully customizable list based on the original, with the exact same behavior. If you keep the default style (using the css provided with the plugin), the user shouldn't even notice the difference.

Here's a little more detailed explanation:

* The plugin starts by reading the <option> tags of your list and hiding it;
* It then recreates the list using more friendly HTML tags like <ul>, <li> and <a> ;
* Some custom styling classes are added to the list;
* Finally, all of the default features are added to the new list, including dynamic resizing based on the largest element, keyboard search & navigation, pre-selected options, focus behavior and dynamic vertical orientation based on the height & position of the list.

Something went wrong with that request. Please try again.