Web colors

From Free net encyclopedia

Revision as of 00:42, 22 April 2006; view current revision
←Older revision | Newer revision→

Template:Html series Authors of web pages have a variety of options available for specifying colors for elements of web documents. Colors may be specified as an RGB triplet in hexadecimal format (a hex triplet); they may also be specified according to their common English names in some cases.

The first versions of Mosaic and Netscape Navigator used the X11 color names as the basis for their color lists, as both started as X Window System applications. The origin of the X11 color list is unknown. [1]

Web colors have an unambiguous colorimetric definition, sRGB, which relates the chromaticities of a particular phosphor set, a given transfer curve, adaptive whitepoint, and viewing conditions. These have been chosen to be similar to many real-world monitors and viewing conditions, so that even without color management rendering is fairly close to the specified values. However, user agents vary in the fidelity with which they represent the specified colors. More advanced user agents use color management to provide better color fidelity; this is particularly important for Web to print applications.

Contents

Hex triplet

A hex triplet is a six-digit, three-byte hexadecimal number used in HTML and CSS, and other computing applications, to represent colors. The bytes represent the red, green and blue components of the color. One byte represents a number in the range 00 to FF (in hexadecimal notation), or 0 to 255 in decimal notation. This represents the least (0) to the most (255) intensity of each of the color components. The hex triplet is formed by concatenating three bytes in hexadecimal notation, in the following order:

Byte 1: red value
Byte 2: green value
Byte 3: blue value

For example, consider the color where the red/green/blue values are decimal numbers: red=36, green=104, blue=160 (a greyish-blue color). The decimal numbers 36, 104 and 160 are 24, 68 and A0 respectively in hexadecimal notation. To obtain the hex triplet, we simply write the three hex bytes together without spaces, thus: 2468A0. If a byte is less than 16 (decimal) or 10 (hex) it must be represented with a leading zero to keep the number of digits in the triplet equal to six. For example, the decimal triplet 0,1,2 would be represented by the hex triplet 000102.

The number of colors that can be represented by this system is

<math>256 \times 256 \times 256 = 16,777,216</math>

Converting RGB to hexadecimal

Converting a decimal RGB value to a hexadecimal value is fairly straightforward. RGB values are usually given in the 0-255 range; if they are in the 0-1 range, multiply the value by 255 before conversion. The number of times this number divides into 16 gives us the first hexadecimal digit (between 0 and F, see hexadecimal if unsure). The remainder gives us the second digit. For instance the RGB value 201 divides 12 times into 16, thus the first digit is C. A remainder of 9 gives us the hexadecimal number C9. This process is repeated for each color value. Most modern operating systems have a built-in calculator to perform conversions between number bases; this can also be done with some calculators. This task can also be carried out with various Internet resources, for instance the website http://www.telacommunications.com/nutshell/rgbform.htm.

HTML color names

The HTML 4.01 specification<ref>HTML 4.01 Specification section 6.5 "Colors"</ref> defines sixteen named colors, as follows (names are defined in this context to be case independent):

Color Hexadecimal Color Hexadecimal Color Hexadecimal Color Hexadecimal
aqua #00ffff black #000000 blue #0000ff fuchsia #ff00ff
gray #808080 green #008000 lime #00ff00 maroon #800000
navy #000080 olive #808000 purple #800080 red #ff0000
silver #c0c0c0 teal #008080 white #ffffff yellow #ffff00

These 16 were also specified as sRGB and included in the HTML 3.0 specification which noted "These colors were originally picked as being the standard 16 colors supported with the Windows VGA palette." <ref>HTML 3.2 Specification "The BODY element"</ref>

X11 color names

In addition, a number of colors are defined by web browsers such as Internet Explorer or Mozilla Firefox. A particular browser may not recognize all of these colors, but as of 2005 all modern general-use browsers support the full list. Many of these colors are from the list of X11 color names distributed with the X Window System. These colors were standardized by SVG 1.0, and are accepted by SVG Full user agents. They are not part of SVG Tiny.

The list of colors actually shipped with the X11 product varies between implementations, and clashes with certain of the HTML names such as green. Furthermore, X11 colors are defined as simple RGB (hence, no particular color), rather than sRGB. This means that the list of colors found in X11 (e.g. in /usr/lib/X11/rgb.txt) should not directly be used to choose colors for the web.<ref>Public discussion on SVG mailing list Re: color names in SVG-1.0 conflict with /usr/lib/X11/rgb.txt</ref>

Some of the web "X11 colors", along with their hexadecimal equivalents, are listed below. For a full list, which also displays by both name and hexadecimal in your browser, see http://www.w3.org/TR/2001/WD-css3-color-20010305#x11-color.

color hexadecimal color hexadecimal
indian-red #cd5c5c dark-salmon #e9967a
light-coral #f08080 salmon #fa8072
orangered #ff4500 red #ff0000
crimson #dc143c fire-brick #b22222
dark-red #8b0000 medium-violet-red #c71585
pink #ffc0cb light-pink #ffb6c1
hotpink #ff69b4 deep-pink #ff1493
pale-violet-red #db7093 dark-khaki #bdb76b
khaki #f0e68c pale-goldenrod #eee8aa
light-goldenrod-yellow #fafad2 light-yellow #ffffe0
lemon-chiffon #fffacd yellow #ffff00
gold #ffd700 papaya-whip #ffefd5
moccasin #ffe4b5 peach-puff #ffdab9
cyan #00ffff aqua #00ffff
aquamarine #7fffd4 turquoise #40e0d0
medium-turquoise #48d1cc dark-turquoise #00ced1
cadet-blue #5f9ea0 slate-gray #708090
light-cyan #e0ffff pale-turquoise #afeeee
powder-blue #b0e0e6 light-steel-blue #b0c4de
steel-blue #4682b4 light-blue #add8e6
sky blue #87ceeb light-sky-blue #87cefa
deep-skyblue #00bfff cornflower-blue #6495ed
royal-blue #4169e1 medium-slate-blue #7b68ee
dodger-blue #1e90ff blue #0000ff
medium-blue #0000cd dark-blue #00008b
navy #000080 midnight-blue #191970
light-salmon #ffa07a orange #ffa500
dark-orange #ff8c00 coral #ff7f50
tomato #ff6347 orange-red #ff4500
aquamarine #7fffd4 medium-spring-green #00fa9a
spring-green #00ff7f pale-green #98fb98
green-yellow #adff2f chartreuse #7fff00
lawn-green #7cfc00 lime #00ff00
light-green #90ee90 yellow-green #9acd32
lime-green #32cd32 medium-seagreen #3cb371
dark-seagreen #8fbc8f forest-green #228b22
seagreen #2e8b57 green #008000
olive-drab #6b8e23 olive #808000
dark-olive-green #556b2f dark-green #006400
medium-aquamarine #66cdaa turquoise #40e0d0
light-seagreen #20b2aa dark-cyan #008b8b
teal #008080 lavender #e6e6fa
thistle #d8bfd8 plum #dda0dd
violet #ee82ee fuchsia #ff00ff
magenta #ff00ff orchid #da70d6
medium-orchid #ba55d3 dark-orchid #9932cc
blue-violet #8a2be2 dark-violet #9400d3
medium-purple #9370db slateblue #6a5acd
purple #800080 dark-magenta #8b008b
dark-slate-blue #483d8b indigo #4b0082
honeydew #f0fff0 mintcream #f5fffa
azure #f0ffff alice-blue #f0f8ff
ghost-white #f8f8ff white-smoke #f5f5f5
lavender-blush #fff0f5 misty-rose #ffe4e1
antique-white #faebd7 sea-shell #fff5ee
snow #fffafa white #ffffff
beige #f5f5dc linen #faf0e6
old-lace #fdf5e6 floral-white #fffaf0
ivory #fffff0 gainsboro #dcdcdc
light-grey #d3d3d3 silver #c0c0c0
dark-gray #a9a9a9 gray #808080
dim-gray #696969 dark-slate-gray #2f4f4f
light-slate-gray #778899 slate-gray #708090
cornsilk #fff8dc blanchedalmond #ffebcd
bisque #ffe4c4 navajowhite #ffdead
wheat #f5deb3 sandy-brown #f4a460
goldenrod #daa520 dark-goldenrod #b8860b
peru #cd853f chocolate #d2691e
maroon #800000 saddlebrown #8b4513
brown #a52a2a sienna #a0522d
darkred #8b0000 burlywood #deb887
tan #d2b48c rosybrown #bc8f8f
black #000000 peanut butter/caramel #8c6638

Template:Color depth

Web-safe colors

Another set of 216 color values are commonly considered to be the "web-safe" color palette; developed at a time when many computer displays were only capable of displaying 256 colors. A set of colors was needed that could be shown without dithering on 256-color displays; the number 216 was chosen partly because computer operating systems customarily reserved sixteen to twenty colors for their own use; it was also selected because it allows exactly six shades each of red, green, and blue. (6 × 6 × 6 = 216). The palette was first identified by Lynda Weinman.

The list of colors is often presented as if it has special properties that render them immune to dithering. In fact, on 256-color displays applications can set a palette of any selection of colors that they choose, dithering the rest. These colors were chosen specifically because they matched the palettes selected by the then leading browser applications. Fortunately, there were not radically different palettes in use in different popular browsers.

"Web-safe" colors had a flaw in that, on systems such as X Windows where the palette is shared between applications, smaller color cubes (5x5x5 or 4x4x4) were often allocated by browsers — thus, the "web safe" colors would actually dither on such systems. Better results were obtained by providing an image with a larger range of colors and allowing the browser to quantize the color space if needed, rather than suffer the quality loss of a double quantization.

By the early years of the 21st century, driven by the needs of video games and digital photos, personal computers typically had at least 16-bit color and usually 24-bit (truecolor). Even mobile devices had at least 16-bit color, driven by the inclusion of cameras on cellphones. The use of "web-safe" colors fell into disuse, but persisted as folklore.

The "web-safe" colors do not have names, but each can be specified by an RGB triplet. In the table below, a three-digit number is used as a shorthand notation for the six-digit hexadecimal numerals above. The digit "3" is equivalent to the hexadecimal numeral "33"; "C" is equivalent to "CC". For example, "F63" in the table below is equivalent to "#FF6633" in the system used previously. Below are the values for the 6 shades of each color out of 256 possible color shades.

6 shades of each color
digit hexadecimal decimal
0 00 0
3 33 51
6 66 102
9 99 153
C or (12) CC 204
F or (15) FF 255

The following table shows all of the "web-safe" colors, underlining the really-safe (see next section) colors. The lack of gamma correction means that the six desired intensities 0%, 20%, 40%, 60%, 80%, and 100% are displayed as 0%, 2%, 10%, 28%, 57%, and 100% on a standard 2.5 gamma CRT or LCD, making most colors very dark. The intensities at the low end of the range are nearly indistinguishable from each other:

Web-Safe Colors
000 300 600 900 C00 F00 003 303 603 903 C03 F03
006 306 606 906 C06 F06 009 309 609 909 C09 F09
00C 30C 60C 90C C0C F0C 00F 30F 60F 90F C0F F0F
030 330 630 930 C30 F30 033 333 633 933 C33 F33
036 336 636 936 C36 F36 039 339 639 939 C39 F39
03C 33C 63C 93C C3C F3C 03F 33F 63F 93F C3F F3F
060 360 660 960 C60 F60 063 363 663 963 C63 F63
066 366 666 966 C66 F66 069 369 669 969 C69 F69
06C 36C 66C 96C C6C F6C 06F 36F 66F 96F C6F F6F
090 390 690 990 C90 F90 093 393 693 993 C93 F93
096 396 696 996 C96 F96 099 399 699 999 C99 F99
09C 39C 69C 99C C9C F9C 09F 39F 69F 99F C9F F9F
0C0 3C0 6C0 9C0 CC0 FC0 0C3 3C3 6C3 9C3 CC3 FC3
0C6 3C6 6C6 9C6 CC6 FC6 0C9 3C9 6C9 9C9 CC9 FC9
0CC 3CC 6CC 9CC CCC FCC 0CF 3CF 6CF 9CF CCF FCF
0F0 3F0 6F0 9F0 CF0 FF0 0F3 3F3 6F3 9F3 CF3 FF3
0F6 3F6 6F6 9F6 CF6 FF6 0F9 3F9 6F9 9F9 CF9 FF9
0FC 3FC 6FC 9FC CFC FFC 0FF 3FF 6FF 9FF CFF FFF

Really web safe colors

Designers were often encouraged to stick to these 216 "web-safe" colors in their websites; however, 8-bit color displays were much more common when the 216-color palette was developed than they are now. David Lehn and Hadley Stern have since discovered that only 22 of the 216 colors in the web-safe palette are reliably displayed without inconsistent remapping on 16-bit computer displays. They called these 22 colors the "really safe" palette; it consists mainly of shades of green and yellow, as can be seen in the table above, where the "really safe" colors are underlined.

CSS colors

The Cascading Style Sheets language defines the same number of named colors as the HTML 4 spec, namely the 16 listed above. Additionally, CSS 2.1 adds the 'orange' color name to the list:

Color Hexadecimal
orange #ffa500

CSS 2, SVG and CSS 2.1 also allow web authors to use so-called system colors, which are color names whose values are taken from the operating system. This enables web authors to style their content in line with the operating system of the user agent. See [2]. As of early 2004, it appears that the CSS3 color module will once again drop these values, marking them deprecated, but this may change: [3].

The developing CSS3 specification will also introduce HSL color space values to style sheets:

/* RGB model */
p { color: #f00 }              /* #rgb */
p { color: #ff0000 }           /* #rrggbb */
p { color: rgb(255,0,0) }      /* integer range 0 - 255 */
p { color: rgb(100%, 0%, 0%) } /* float range 0.0% - 100.0% */
/* RGB with alpha channel, added to CSS3 */
p { color: rgba(255,0,0,0.5)    /* 0.5 opacity, semi-transparent */
/* HSL model, added to CSS3 */
p { color: hsl(0, 100%, 50%) }   /* red */
p { color: hsl(120, 100%, 50%) } /* green */ 
p { color: hsl(120, 100%, 25%) } /* light green */ 
p { color: hsl(120, 100%, 75%) } /* dark green */ 
p { color: hsl(120, 50%, 50%) }  /* pastel green */
/* HSL model with alpha channel */
p { color: hsla(120, 100%, 50%, 1) }   /* green */
p { color: hsla(120, 100%, 50%, 0.5) } /* semi-transparent green */
p { color: hsla(120, 100%, 50%, 0.1) } /* very transparent green */

Accessibility

  • Some browsers and devices don't support colors.
  • For blind and colorblind users Web content depending on colors can be unusable or difficult to use.
  • Mixing legacy markup like bgcolor with modern CSS fails for legacy browsers not supporting CSS.
  • The shorthand #RGB as in bgcolor="#0FF" does not work with some browsers, it should be #RRGGBB as in bgcolor="#00FFFF".
  • Both foreground and background color should be modified to avoid black on black effects.

Popular browsers show links as shades of blue, dark background colors like blue or navy don't work for such links. Using CSS to modify link colors cannot work with legacy browsers. The Netscape 4.x support for CSS is frequently disabled for being as paltry as it is.

References

<references/>

See also

External links

da:Web-sikre farver de:Farbtabellen im Internet el:Διαδικτυακά Χρώματα es:Colores HTML eu:Wikipedia:Kolorea ko:웹 색상 hu:Színek nl:Lijst van HTML-kleuren pt:Tripleto hexadecimal sv:HTML-färger th:สีที่ใช้ในเว็บ tr:Web renkleri zh:网页颜色模式