I’d like to get a <select> element where each <option> is labelled with an icon.
I can achieve this using <select size="5">, by applying a background image to the <select> that has each icon coincide with an option, but that relies strongly on the height of the <option> being predictable (which is isn’t).
I can apply individual background colours to different options, so why not a background image?
Actually, this question can be extended to cover “What style properties can and can’t be used on <option> tags?”
You cannot reliably style elements like that across browsers; some of them will allow you to insert backgrounds and such, some will not.
If you want guaranteed cross-browser compatibility the only way is to use custom widgets instead of
<select>elements.If you are OK with limited compatibility, state your target browsers.