I've searched around a lot and see people suggesting that:
::-moz-selection {background: red;}
::selection {background: red; }
..works for colouring the background of the currently selected items in a multiple select form item. (Note: I mean the selected items, not the items with focus).
I can't get this to work. Am I doing it wrong?
#dropdowns select::selection {
background: red;
}
Cheers :/
Setup: Using Chrome for Mac
I found this because I was having the same problem, I did find an odd solution that seems to work atleast with chrome and maybe others. The solution was to use an attribute selector. This seemed to work with chrome, I tested it in the js fiddle. A side note that the box did not immediately change color to background red but once I selected another option I could clearly see that it had indeed turned red. You can check it out in the jsfiddle listed above.
http://jsfiddle.net/vzDvK/1/
The right CSS Selector for you would be
:checked
::selection is only for text that has been highlighted:
Instead of only setting a background-color you can also set a linear-gradient as background:
This works in IE11 and latest Chrome and Firefox. Safari just ignores it. Did not test IE/Edge.
If you want to set the background color only for focused multi-selects you can use this snippet:
See the full demo here: http://codepen.io/marceltschopp/pen/PNyqKp
::selection
doesn't apply to selected options; it applies to highlighted text. Either you're misinterpreting their suggestions, or what they said is flat-out wrong.According to this answer, you're supposed to be able to use
option:checked
for styling the selected items:But I haven't been able to get it to work for
<select>
or<select multiple>
elements in this test fiddle.