Works best in Opera 11+, IE11 and - whatever their stable version is now - Chromium/Webkit/Blink or Gecko based browsers. Older versions not tested.
The usual color pickers use transparent PNGs (which are huge and don't scale well), a multitude of 1px DIV elements (which causes a high processing load) SVG/VML (which is a beast of its own) or canvas (which has the problem of constant redrawing etc).
Nothing against those concepts, some of them have their merits when it comes to backwards browser compatibility, but if you do not need to support e.g. IE6 and you are using modern elements like Canvas or CSS3 etc.pp. anyway, you can easily replace the usual transparent PNGs by CSS3 gradients.
If you want to go nuts completely you can even replace the relatively small images used for the circle and the little arrows with pure CSS solutions, some border magic does the trick just fine.