首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

颜色 | <color>

The <color> CSS data type represents a color in the sRGB color space. A color can be described in any of the following ways:

A color value may also include an alpha-channel transparency value, indicating how the color should composite with its background.

Although CSS color values are precisely defined, their appearance may vary (sometimes significantly) from device to device. This is because most devices are not calibrated, and some browsers do not support output devices' color profiles.

This article describes the color data type in detail. For a look at using color in HTML, see Applying color to HTML elements using CSS.

Accessibility note: Some people have difficulty distinguishing colors. The WCAG 2.0 recommendation strongly advises against using color as the only means of conveying a specific message, action, or result. (See Color and color contrast for more information.)

Interpolation

In animations or <gradient>s, color values are interpolated on each of their red, green, and blue components. Each component is handled as a real, floating-point number. Note that interpolation of colors happens in the alpha-premultiplied sRGBA color space to prevent unexpected gray colors from appearing. In animations, the interpolation's speed is determined by the timing function.

Values

There are several ways to describe a <color> value.

Color keywords

Color keywords are case-insensitive identifiers that represent a specific color, such as red, blue, brown, or lightseagreen. The name describes the color, though it is mostly artificial. The list of accepted values has varied a lot throughout the different specifications:

  • CSS Level 1 only accepted 16 basic colors, called the VGA colors as they were taken from the set of displayable colors on VGA graphics cards.
  • CSS Level 2 added the orange keyword.
  • Although various colors not in the specification (mostly adapted from the X11 colors list) were supported by early browsers, it wasn't until SVG 1.0 and CSS Colors Level 3 that they were formally defined. They are called the extended color keywords, the X11 colors, or the SVG colors.
  • CSS Colors Level 4 added the rebeccapurple keyword to honor web pioneer Eric Meyer.

There are a few caveats to consider when using keywords:

  • Except for the 16 basic colors, color keywords can only be used in CSS and SVG. HTML does not recognize them and will use a specific algorithm to convert them to completely different colors.
  • Unlike HTML, CSS will completely ignore unknown keywords.
  • No keyword-defined colors in CSS have any transparency—they are plain, solid colors.
  • Several keywords denote the same colors:
    • aqua / cyan
    • fuchsia / magenta
    • darkgray / darkgrey
    • darkslategray / darkslategrey
    • dimgray / dimgrey
    • lightgray / lightgrey
    • lightslategray / lightslategrey
    • gray / grey
    • slategray / slategrey
  • Though many keywords have been adapted from X11, their RGB values may differ from the corresponding color on X11 systems since manufacturers sometimes tailor X11 colors to their specific hardware.

Specification

Color

Keyword

RGB hex values

Live

CSS Level 1

black

#000000

silver

#c0c0c0

gray

#808080

white

#ffffff

maroon

#800000

red

#ff0000

purple

#800080

fuchsia

#ff00ff

green

#008000

lime

#00ff00

olive

#808000

yellow

#ffff00

navy

#000080

blue

#0000ff

teal

#008080

aqua

#00ffff

CSS Level 2 (Revision 1)

orange

#ffa500

CSS Color Module Level 3

aliceblue

#f0f8ff

antiquewhite

#faebd7

aquamarine

#7fffd4

azure

#f0ffff

beige

#f5f5dc

bisque

#ffe4c4

blanchedalmond

#ffebcd

blueviolet

#8a2be2

brown

#a52a2a

burlywood

#deb887

cadetblue

#5f9ea0

chartreuse

#7fff00

chocolate

#d2691e

coral

#ff7f50

cornflowerblue

#6495ed

cornsilk

#fff8dc

crimson

#dc143c

cyan (synonym of aqua)

#00ffff

darkblue

#00008b

darkcyan

#008b8b

darkgoldenrod

#b8860b

darkgray

#a9a9a9

darkgreen

#006400

darkgrey

#a9a9a9

darkkhaki

#bdb76b

darkmagenta

#8b008b

darkolivegreen

#556b2f

darkorange

#ff8c00

darkorchid

#9932cc

darkred

#8b0000

darksalmon

#e9967a

darkseagreen

#8fbc8f

darkslateblue

#483d8b

darkslategray

#2f4f4f

darkslategrey

#2f4f4f

darkturquoise

#00ced1

darkviolet

#9400d3

deeppink

#ff1493

deepskyblue

#00bfff

dimgray

#696969

dimgrey

#696969

dodgerblue

#1e90ff

firebrick

#b22222

floralwhite

#fffaf0

forestgreen

#228b22

gainsboro

#dcdcdc

ghostwhite

#f8f8ff

gold

#ffd700

goldenrod

#daa520

greenyellow

#adff2f

grey

#808080

honeydew

#f0fff0

hotpink

#ff69b4

indianred

#cd5c5c

indigo

#4b0082

ivory

#fffff0

khaki

#f0e68c

lavender

#e6e6fa

lavenderblush

#fff0f5

lawngreen

#7cfc00

lemonchiffon

#fffacd

lightblue

#add8e6

lightcoral

#f08080

lightcyan

#e0ffff

lightgoldenrodyellow

#fafad2

lightgray

#d3d3d3

lightgreen

#90ee90

lightgrey

#d3d3d3

lightpink

#ffb6c1

lightsalmon

#ffa07a

lightseagreen

#20b2aa

lightskyblue

#87cefa

lightslategray

#778899

lightslategrey

#778899

lightsteelblue

#b0c4de

lightyellow

#ffffe0

limegreen

#32cd32

linen

#faf0e6

magenta (synonym of fuchsia)

#ff00ff

mediumaquamarine

#66cdaa

mediumblue

#0000cd

mediumorchid

#ba55d3

mediumpurple

#9370db

mediumseagreen

#3cb371

mediumslateblue

#7b68ee

mediumspringgreen

#00fa9a

mediumturquoise

#48d1cc

mediumvioletred

#c71585

midnightblue

#191970

mintcream

#f5fffa

mistyrose

#ffe4e1

moccasin

#ffe4b5

navajowhite

#ffdead

oldlace

#fdf5e6

olivedrab

#6b8e23

orangered

#ff4500

orchid

#da70d6

palegoldenrod

#eee8aa

palegreen

#98fb98

paleturquoise

#afeeee

palevioletred

#db7093

papayawhip

#ffefd5

peachpuff

#ffdab9

peru

#cd853f

pink

#ffc0cb

plum

#dda0dd

powderblue

#b0e0e6

rosybrown

#bc8f8f

royalblue

#4169e1

saddlebrown

#8b4513

salmon

#fa8072

sandybrown

#f4a460

seagreen

#2e8b57

seashell

#fff5ee

sienna

#a0522d

skyblue

#87ceeb

slateblue

#6a5acd

slategray

#708090

slategrey

#708090

snow

#fffafa

springgreen

#00ff7f

steelblue

#4682b4

tan

#d2b48c

thistle

#d8bfd8

tomato

#ff6347

turquoise

#40e0d0

violet

#ee82ee

wheat

#f5deb3

whitesmoke

#f5f5f5

yellowgreen

#9acd32

CSS Color Module Level 4

rebeccapurple

#663399

transparent keyword

The transparent keyword represents a fully transparent color. This makes the background completely visible. Technically, transparent is a shortcut for rgba(0,0,0,0).

Compatibility note: To prevent unexpected behavior, such as in <gradient>s, the current W3C spec states that transparent should be calculated in the alpha-premultiplied color space. However, be aware that older browsers may treat it as black with an alpha value of 0.

Historical note:transparent wasn't a true color in CSS Level 2 (Revision 1). It was a special keyword that could be used instead of a regular <color> value on two CSS properties: background and border. It was essentially added to allow developers to override an inherited solid color. With the advent of alpha channels in CSS Colors Level 3, transparent was redefined as a true color. It can now be used wherever a <color> value can be used.

currentColor keyword

The currentColor keyword represents the value of an element's color property. This lets you use the color value on properties that do not receive it by default.

CurrentColor example

代码语言:javascript
复制
<div style="color:blue; border: 1px dashed currentColor;">
  The color of this text is blue.
  <div style="background:currentColor; height:9px;"></div>
  This block is surrounded by a blue border.
</div>

rgb() and rgba()

Note: As of CSS Colors Level 4, rgba() is an alias for rgb(). In browsers that implement the Level 4 standard, they accept the same parameters and behave the same way.

Colors can be defined according to their red, green, and blue components (the RGB model) by using hexadecimal and functional notations. The optional alpha component represents transparency.

Syntax

Hexadecimal notation: #RRGGBB[AA]R (red), G (green), B (blue), and A (alpha) are hexadecimal characters (0-9, A-F). A is optional. For example, #ff0000 is equivalent to #ff0000ff.Hexadecimal notation: #RGB[A]R (red), G (green), B (blue), and A (alpha) are hexadecimal characters (0-9, A-F). A is optional. The three-digit notation (#RGB) is a shorter version of the six-digit form (#RRGGBB). For example, #f09 is the same color as #ff0099. Likewise, the four-digit RGB notation (#RGBA) is a shorter version of the eight-digit form (#RRGGBBAA). For example, #0f38 is the same color as #00ff3388.Functional notation: rgb(R, G, B[, A]) or rgba(R, G, B, A)R (red), G (green), and B (blue) can be either <integer>s or <percentage>s, where the number 255 corresponds to 100%. A (alpha) can be a <number> between 0 and 1, or a <percentage>, where the number 1 corresponds to 100% (full opacity).

Examples

RGB example
代码语言:javascript
复制
/* These examples all specify the same color: a hot pink. */

/* Hexadecimal syntax */
#f09
#F09
#ff0099
#FF0099

/* Functional syntax */
rgb(255,0,153)
rgb(255, 0, 153)
rgb(255, 0, 153.0) /* ERROR! Don't use fractions. */
rgb(100%,0%,60%)
rgb(100%, 0%, 60%)
rgb(100%, 0, 60%) /* ERROR! Don't mix integers and percentages. */
rgb(255 0 153)

/* Hexadecimal syntax with alpha value */
#f09f
#F09F
#ff0099ff
#FF0099FF

/* Functional syntax with alpha value */
rgb(255, 0, 153, 1)
rgb(255, 0, 153, 100%)
rgb(255 0 153 / 1)
rgb(255 0 153 / 100%)
RGBa example
代码语言:javascript
复制
/* Hexadecimal syntax */
#3a30                    /*   0% opaque green */ 
#3A3F                    /* full opaque green */ 
#33aa3300                /*   0% opaque green */ 
#33AA3388                /*  50% opaque green */ 

/* Functional syntax */
rgba(51, 170, 51, .1)    /*  10% opaque green */ 
rgba(51, 170, 51, .4)    /*  40% opaque green */ 
rgba(51, 170, 51, .7)    /*  70% opaque green */ 
rgba(51, 170, 51,  1)    /* full opaque green */ 

/* Whitespace syntax */
rgba(51 170 51 / 0.4)    /*  40% opaque green */ 
rgba(51 170 51 / 40%)    /*  40% opaque green */ 

hsl() and hsla()

Note: As of CSS Colors Level 4, hsla() is an alias for hsl(). In browsers that implement the Level 4 standard, they accept the same parameters and behave the same way.

Colors can be defined according to their hue, saturation, and lightness (the HSL model) via the hsl() and hsla() functional notations. One advantage of HSL over RGB is that it is more intuitive: you can guess at the color you want, and tweak it from there. It is also easier to create a set of matching colors (e.g., by keeping the hue the same, while varying the lightness/darkness and saturation).

Syntax

Functional notation: hsl(H, S, L[, A]) or hsla(H, S, L, A)H (hue)is an <angle> of the color circle given in degs, rads, grads, or turns. When written as a unitless <number>, it is interpreted as degrees. By definition, red=0deg=360deg, with the other colors spread around the circle, so green=120deg, blue=240deg, and so on. As an <angle>, it implicitly wraps around such that -120deg=240deg, 480deg=120deg, -1turn=1turn, etc.S (saturation) and L (lightness) are percentages. 100%saturation is completely saturated, while 0% is completely unsaturated (gray). 100%lightness is white, 0% lightness is black, and 50% lightness is “normal.”A (alpha) can be a <number> between 0 and 1, or a <percentage>, where the number 1 corresponds to 100% (full opacity).

Examples

HSL example
代码语言:javascript
复制
/* These examples all specify the same color: a lavender. */
hsl(270,60%,70%)
hsl(270, 60%, 70%)
hsl(270 60% 70%)
hsl(270deg, 60%, 70%)
hsl(4.71239rad, 60%, 70%)
hsl(.75turn, 60%, 70%)

/* These examples all specify the same color: a lavender that is 15% opaque. */
hsl(270, 60%, 50%, .15)
hsl(270, 60%, 50%, 15%)
hsl(270 60% 50% / .15)
hsl(270 60% 50% / 15%)
Fully saturated colors

Notation

Description

Live

hsl(0,   100%, 50%)

red

hsl(30,  100%, 50%)

orange

hsl(60,  100%, 50%)

yellow

hsl(90,  100%, 50%)

lime green

hsl(120, 100%, 50%)

green

hsl(150, 100%, 50%)

blue-green

hsl(180, 100%, 50%)

cyan

hsl(210, 100%, 50%)

sky blue

hsl(240, 100%, 50%)

blue

hsl(270, 100%, 50%)

purple

hsl(300, 100%, 50%)

magenta

hsl(330, 100%, 50%)

pink

hsl(360, 100%, 50%)

red

Lighter and darker greens

Notation

Description

Live

hsl(120, 100%, 0%)

black

hsl(120, 100%, 20%)

hsl(120, 100%, 40%)

hsl(120, 100%, 60%)

hsl(120, 100%, 80%)

hsl(120, 100%, 100%)

white

Saturated and desaturated greens

Notation

Description

Live

hsl(120, 100%, 50%)

green

hsl(120, 80%,  50%)

hsl(120, 60%,  50%)

hsl(120, 40%,  50%)

hsl(120, 20%,  50%)

hsl(120, 0%,   50%)

gray

HSLa example
代码语言:javascript
复制
hsla(240, 100%, 50%, .05)     /*   5% opaque blue */ 
hsla(240, 100%, 50%, .4)      /*  40% opaque blue */ 
hsla(240, 100%, 50%, .7)      /*  70% opaque blue */ 
hsla(240, 100%, 50%, 1)       /* full opaque blue */ 

/* Whitespace syntax */
hsla(240 100% 50% / .05)      /*   5% opaque blue */ 

/* Percentage value for alpha */
hsla(240 100% 50% / 5%)       /*   5% opaque blue */ 

System Colors

Not all system colors are supported on all systems. for use on public web pages.

ActiveBorderActive window border.ActiveCaptionActive window caption. Should be used with CaptionText as foreground color.AppWorkspaceBackground color of multiple document interface.BackgroundDesktop background.ButtonFaceFace background color for 3-D elements that appear 3-D due to one layer of surrounding border. Should be used with the ButtonText foreground color.ButtonHighlightThe color of the border facing the light source for 3-D elements that appear 3-D due to that layer of surrounding border.ButtonShadowThe color of the border away from the light source for 3-D elements that appear 3-D due to that layer of surrounding border.ButtonTextText on push buttons. Should be used with the ButtonFace or ThreeDFace background color.CaptionTextText in caption, size box, and scrollbar arrow box. Should be used with the ActiveCaption background color.GrayTextGrayed (disabled) text.HighlightItem(s) selected in a control. Should be used with the HighlightText foreground color.HighlightTextText of item(s) selected in a control. Should be used with the Highlight background color.InactiveBorderInactive window border.InactiveCaptionInactive window caption. Should be used with the InactiveCaptionText foreground color.InactiveCaptionTextColor of text in an inactive caption. Should be used with the InactiveCaption background color.InfoBackgroundBackground color for tooltip controls. Should be used with the InfoText foreground color.InfoTextText color for tooltip controls. Should be used with the InfoBackground background color.MenuMenu background. Should be used with the MenuText or -moz-MenuBarText foreground color.MenuTextText in menus. Should be used with the Menu background color.ScrollbarBackground color of scroll bars.ThreeDDarkShadowThe color of the darker (generally outer) of the two borders away from the light source for 3-D elements that appear 3-D due to two concentric layers of surrounding border.ThreeDFaceThe face background color for 3-D elements that appear 3-D due to two concentric layers of surrounding border. Should be used with the ButtonText foreground color.ThreeDHighlightThe color of the lighter (generally outer) of the two borders facing the light source for 3-D elements that appear 3-D due to two

concentric layers of surrounding border.ThreeDLightShadowThe color of the darker (generally inner) of the two borders facing the light source for 3-D elements that appear 3-D due to two

concentric layers of surrounding border.ThreeDShadowThe color of the lighter (generally inner) of the two borders away from the light source for 3-D elements that appear 3-D due to two concentric layers of surrounding border.WindowWindow background. Should be used with the WindowText foreground color.WindowFrameWindow frame.WindowTextText in windows. Should be used with the Window background color.

Mozilla System Color Extensions

-moz-ButtonDefaultThe border color that goes around buttons that represent the default action for a dialog box.-moz-ButtonHoverFaceThe background color of a button that the mouse pointer is over (which would be ThreeDFace or ButtonFace when the mouse pointer is not over it). Should be used with the -moz-ButtonHoverText foreground color.-moz-ButtonHoverTextThe text color of a button that the mouse pointer is over (which would be ButtonText when the mouse pointer is not over it). Should be used with the -moz-ButtonHoverFace background color.-moz-CellHighlightBackground color for selected item in a tree widget. Should be used with the -moz-CellHighlightText foreground color. See also -moz-html-CellHighlight.-moz-CellHighlightTextText color for a selected item in a tree. Should be used with the -moz-CellHighlight background color. See also -moz-html-CellHighlightText.-moz-Combobox Background color for combo-boxes. Should be used with the -moz-ComboboxText foreground color. In versions prior to 1.9.2, use -moz-Field instead.-moz-ComboboxText Text color for combo-boxes. Should be used with the -moz-Combobox background color. In versions prior to 1.9.2, use -moz-FieldText instead.-moz-DialogBackground color for dialog boxes. Should be used with the -moz-DialogText foreground color.-moz-DialogTextText color for dialog boxes. Should be used with the -moz-Dialog background color.-moz-dragtargetzone-moz-EvenTreeRow Background color for even-numbered rows in a tree. Should be used with the -moz-FieldText foreground color. In Gecko versions prior to 1.9, use -moz-Field. See also -moz-OddTreeRow.-moz-FieldText field background color. Should be used with the -moz-FieldText foreground color.-moz-FieldTextText field text color. Should be used with the -moz-Field, -moz-EvenTreeRow, or -moz-OddTreeRow background color.-moz-html-CellHighlight Background color for highlighted item in HTML <select>s. Should be used with the -moz-html-CellHighlightText foreground color. Prior to Gecko 1.9, use -moz-CellHighlight.-moz-html-CellHighlightText Text color for highlighted items in HTML <select>s. Should be used with the -moz-html-CellHighlight background color. Prior to Gecko 1.9, use -moz-CellHighlightText.-moz-mac-accentdarkestshadow-moz-mac-accentdarkshadow-moz-mac-accentface-moz-mac-accentlightesthighlight-moz-mac-accentlightshadow-moz-mac-accentregularhighlight-moz-mac-accentregularshadow-moz-mac-chrome-active-moz-mac-chrome-inactive-moz-mac-focusring-moz-mac-menuselect-moz-mac-menushadow-moz-mac-menutextselect-moz-MenuHoverBackground color for hovered menu items. Often similar to Highlight. Should be used with the -moz-MenuHoverText or -moz-MenuBarHoverText foreground color.-moz-MenuHoverTextText color for hovered menu items. Often similar to HighlightText. Should be used with the -moz-MenuHover background color.-moz-MenuBarText Text color in menu bars. Often similar to MenuText. Should be used on top of Menu background.-moz-MenuBarHoverTextColor for hovered text in menu bars. Often similar to -moz-MenuHoverText. Should be used on top of -moz-MenuHover background.-moz-nativehyperlinktext Default platform hyperlink color.-moz-OddTreeRow Background color for odd-numbered rows in a tree. Should be used with the -moz-FieldText foreground color. In Gecko versions prior to 1.9, use -moz-Field. See also -moz-EvenTreeRow.-moz-win-communicationstext Should be used for text in objects with -moz-appearance: -moz-win-communications-toolbox;.-moz-win-mediatext Should be used for text in objects with -moz-appearance: -moz-win-media-toolbox.-moz-win-accentcolorRequires Gecko 56

Used to access the Windows 10 custom accent color that you can set on the start menu, taskbar, title bars, etc.-moz-win-accentcolortextRequires Gecko 56

Used to access the color of text placed over the Windows 10 custom accent color in the start menu, taskbar, title bars, etc.

Mozilla Color Preference Extensions

-moz-activehyperlinktextUser's preference for text color of active links. Should be used with the default document background color.-moz-default-background-color User's preference for the document background color.-moz-default-color User's preference for the text color.-moz-hyperlinktextUser's preference for the text color of unvisited links. Should be used with the default document background color.-moz-visitedhyperlinktextUser's preference for the text color of visited links. Should be used with the default document background color.

Specifications

Specification

Status

Comment

CSS Color Module Level 4The definition of '<color>' in that specification.

Editor's Draft

Adds rebeccapurple, four- (#RGBA) and eight-digit (#RRGGBBAA) hexadecimal notations, rgba() and hsla() as aliases of rgb() and hsl() (both with identical parameter syntax), space-separated function parameters rather than commas, percentages for alpha values, and angles for the hue component in hsl() colors.

CSS Color Module Level 3The definition of '<color>' in that specification.

Recommendation

Deprecates system colors. Adds SVG colors and rgba(), hsl(), and hsla() functional notations.

CSS Level 2 (Revision 1)The definition of '<color>' in that specification.

Recommendation

Adds the orange color and system colors.

CSS Level 1The definition of '<color>' in that specification.

Recommendation

Initial definition. Includes 16 basic colors.

Browser compatibility

Feature

Chrome

Firefox (Gecko)

Internet Explorer

Opera

Safari (WebKit)

keywords colors

1.0

1.0 (1.0)

3.01

3.5

1.0 (85)

#RRGGBB, #RGB

1.0

1.0 (1.0)

3.0

3.5

1.0 (85)

rgb()

1.0

1.0 (1.0)

4.0

3.5

1.0 (85)

hsl()

1.0

1.0 (1.5)

9.0

9.5

3.1 (525)

rgba(), hsla()

1.0

3.0 (1.9)

9.0

10.0

3.1 (525)

currentColor

1.0

1.5 (1.8)

9.0

9.5

4.0 (528)

transparent

1.0

3.0 (1.9)

9.02

10.0

3.1 (525)

rebeccapurple

38.0

33 (33)

11

25.0

7.1

#RRGGBBAA, #RGBA

62.03

49 (49)

?

No support4

9.1

rgba() and hsla() as aliases of rgb() and hsl() Space-separated function parameters rather than commas Percentages for alpha values Angles for the hue component in hsl() colors.

?

52 (52)

?

?

?

Feature

Android

Firefox Mobile (Gecko)

IE Phone

Opera Mobile

Safari Mobile

Basic support

(Yes)

(Yes)

(Yes)

(Yes)

(Yes)

rgba(), hsla()

(Yes)

(Yes)

(Yes)

(Yes)

(Yes)

rebeccapurple

(Yes)

33.0 (33)

?

?

8

#RRGGBBAA, #RGBA

No support3

49.0 (49)

No support

No support

?

rgba() and hsla() as aliases of rgb() and hsl() Space-separated function parameters rather than commas Percentages for alpha values Angles for the hue component in hsl() colors.

?

52.0 (52)

?

?

?

1 The 'e'-grey colors (with an e) (grey, darkgrey, darkslategrey, dimgrey, lightgrey, and lightslategrey) are only supported since IE 8.0. IE 3 to IE 7 only support the 'a' variants: gray, darkgray, darkslategray, dimgray, lightgray, and lightslategray.

2 IE 7-8 supports the transparent keyword only for background and border. color: transparent; is drawn black in IE. IE6 renders transparent borders as black, as well.

3 This feature is supported since Chrome 52.0 behind the "Experimental Web Platform features" flag in chrome://flags. See Chromium bug 76362.

4 This feature is supported Opera 39.0 behind the "Enable experimental Web Platform features" flag in chrome://flags.

See also

  • The opacity property lets you define transparency at the element level.
  • The color, background-color, border-color, outline-color, text-shadow, box-shadow properties.
代码语言:txt
复制
 © 2005–2017 Mozilla Developer Network and individual contributors.

Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.

扫码关注腾讯云开发者

领取腾讯云代金券