Basic examples
Spectrum is a simple yet powerful color picker that can be used as a cross-browser alternative to native color input. It supports dropdown and flat modes with variety of options and events.
Apart from default button labels, you can set custom
button's text or translate it using
cancelText and
chooseText properties. Default button
labels are Cancel and Choose.
Spectrum picker can be initialized with an empty color value, meaning the input field value remains empty. This is very useful if the picker field needs to be validated or when field is optional.
You can show or hide the buttons using the
showButtons property. If there are no
buttons, the behavior will be to fire the
change event (and update the original
input) when the picker is closed.
Spectrum can be automatically disabled if you pass in
the disabled flag. Additionally, if the
input that you initialize spectrum on is disabled, this
will be the default value. Note: you cannot enable
spectrum if the input is disabled.
When clicking outside of the colorpicker, you can force
it to fire a change event rather than
having it revert the change. This is
true by default. Try to pick a color and
click outside to see it in action.
Picker additions
Spectrum can show the color that was initially set when opening. This provides an easy way to click back to what was set when opened. Pick a color and click on initial color to reset your selection.
You can allow alpha transparency selection by setting
showAlpha option to true.
Opacity is shown as a slider that supports values from 0
to 100 with minimum increment.
If you specify both the showInput and
showInitial options, the CSS keeps things
in order by wrapping the buttons to the bottom row, and
shrinking the input. Note: this is all customizable via
CSS.
You can add an input to allow free form typing. The
color parsing is very permissive in the allowed strings.
Use in combination with allowEmpty is
recommended to allow empty value.
Setting allowEmpty option to
true adds an ability to reset current
selection. Spectrum inserts a square area in top right
corner, which clears the selected color on click.
This example demonstrates a full featured color picker
with combination of various options explained above:
showInitial, showInput,
showAlpha and allowEmpty.
Color palettes
Spectrum can show a palette to make it convenient for users to choose from frequently or recently used colors. When the picker is closed, the current color will be added to the palette.
Spectrum can show a button to toggle the colorpicker
next to the palette. The default value for
togglePaletteOnly is false.
Set it to true to enable the Toggle button.
You can define how many elements are allowed in the
selectionPallete at once. Elements will be
removed from the palette in first in - first out order
if this limit is reached.
If you'd like, spectrum can show the palettes you
specify, and nothing else. To hide color picker and show
only color palette, simply set
showPaletteOnly and
showPalette options to true.
Spectrum can keep track of what has been selected with
the showSelectionPalette option. If the
localStorageKey option is defined, the
selection will be saved in the browser's
localStorage object.
You can have the colorpicker automatically hidden after
a palette color is selected. Set
hideAfterPaletteSelect to
true. Note: this behaviour is only
available in color palette and doesn't work with color
selection.
Color formats
You can set the format that is displayed in the text box
and titles in the palette swatches. Use either
preferredFormat option in JS or
data-preferred-format attribute in HTML.
HSL stands for hue, saturation, and lightness - and
represents a cylindrical-coordinate representation of
colors. Color value is specified with the hsl()
function, which has
hsl(hue, saturation, lightness) syntax.
Spectrum color picker also accepts HTML color names as valid color values. You can define 140 color names, out of which 17 colors are standard. Refer to this page to see a full list.
Some six-digit hex colors can be written using a three-digit shorthand, which combines the duplicate digits from each color component into one. This results in a three digit hex number instead of six.
RGB color system constructs all the colors from the combination of the Red, Green and Blue colors. Each parameter (red, green, and blue) defines the intensity of the color as an integer between 0 and 255.
In this example preferred color format is null, meaning it depends on input - try changing formats with the text box. Here all formats are supported and this is the default behaviour.
Picker events
Change event is called as the original input changes. Only happens when the input is closed (not by clicking 'Cancel' button) or the 'Choose' button is clicked.
Called after the colorpicker is hidden. This happens when clicking outside of the picker while it is open. Note, when any colorpicker on the page is shown it will hide any that are already open.
Dragstart event is called at the beginning of a drag event on either hue slider, alpha slider, or main color picker areas. Can be combined with other events.
Move event is called as the user moves around within the colorpicker. When the picker is closed, the last picked color value is remembered, but not considered selected.
Show event is called after the colorpicker is opened. This is ignored on a flat colorpicker. Note, when any colorpicker on the page is shown it will hide any that are already open.
Dragstop event is called at the end of a drag event on either hue slider, alpha slider, or main color picker areas. Can be combined with other events.
Flat picker
Flat mode means that the color picker will always show
up at full size, and be positioned as an inline-block
element. To display color picker in flat mode, set
flat option to true.
In flat picker you can add an input to allow free form
typing. The color parsing is very permissive in the
allowed strings. Use in combination with
allowEmpty is recommended to allow empty
value
Spectrum can show a palette in a flat mode to make it convenient for users to choose from frequently or recently used colors. When the picker is closed, the current color will be added to the palette.
Spectrum in a flat mode can show the color that was initially set. This provides an easy way to click back to what was set when opened. Pick a color and click on initial color to reset your selection.