Instead of setting a background color, you can also set a linear gradient as the background:
option:checked { background: red linear-gradient(0deg, red 0%, red 100%); }
This works in IE11 and the latest Chrome and Firefox. Safari just ignores it. Not tested IE / Edge.
If you want to set the background color only for focused multi-selects, you can use this snippet:
select[multiple]:focus option:checked { background: red linear-gradient(0deg, red 0%, red 100%); }
See the full demo here: http://codepen.io/marceltschopp/pen/PNyqKp
source share