CSS (3.) - Barvy

V dnešním díle se seznámíme se způsoby zadávání barev v kaskádových stylech.

Pomocí stylu lze samozřejmě určit i barvu elementu. Barvy používané v CSS jsou z RGB barevného prostoru a jsou uzpůsobeny možnostem koncových zobrazovacích zařízení. K nastavení barvy slouží atribut color. Hodnotou tohoto atributu lze zadat několika způsoby.

Jménem v angličtině

Barvu lze definovat jejím anglickým jménem. Existuje 140 pojmenovaných barev, které lze rozdělit do dvou skupin: základní barvy, barvy X11. Při zadávání jména barvy se nerozlišují velká a malá písmena.

Základní barvy

Základních barev je 16 a jsou uvedeny v dokumentaci W3C. Výhoda používání těchto barev tkví v jejich snadné zapamatovatelnosti.

  black   white   green   maroon
  olive   navy   purple   gray
  yellow   lime   aqua   fuchsia
  silver   red   blue   teal

Barvy X11

Jedná se o sadu 124 barev. Tyto barvy naleznete často na webu pod označením Pojmenované barvy nebo Barvy X11.

  ivory   lightyellow   snow   floralwhite
  lemonchiffon   cornsilk   seashell   lavenderblush
  papayawhip   blanchedalmond   mistyrose   bisque
  moccasin   peachpuff   navajowhite   gold
  pink   lightpink   lightsalmon   orange
  darkorange   coral   hotpink   tomato
  orangered   deeppink   magenta   oldlace
  lightgoldenrodyellow   linen   antiquewhite   salmon
  ghostwhite   mintcream   whitesmoke   beige
  wheat   sandybrown   aliceblue   azure
  honeydew   khaki   lightcoral   palegoldenrod
  violet   darksalmon   lavender   lightcyan
  burlywood   plum   gainsboro   crimson
  goldenrod   orchid   thistle   palevioletred
  lightgrey   tan   chocolate   peru
  indianred   mediumvioletred   darkkhaki   rosybrown
  mediumorchid   darkgoldenrod   firebrick   powderblue
  lightsteelblue   paleturquoise   greenyellow   lightblue
  darkgray   brown   sienna   yellowgreen
  darkorchid   palegreen   darkviolet   mediumpurple
  lightgreen   darkseagreen   saddlebrown   darkmagenta
  darkred   blueviolet   lightskyblue   skyblue
  mediumslateblue   aquamarine   chartreuse   lawngreen
  lightslategray   slategray   slateblue   dimgray
  olivedrab   mediumauquamarine   cornflowerblue   cadetblue
  darkolivegreen   indigo   mediumturquoise   darkslateblue
  steelblue   royalblue   turquoise   mediumseagreen
  limegreen   darkslategray   seagreen   forestgreen
  lightseagreen   dodgerblue   midnightblue   springgreen
  mediumspringgreen   darkturquoise   deepskyblue   darkcyan
  darkgreen   mediumblue   darkblue   cyan

Systémové barvy

Sada 28 barev, které lze uvést v definování stylu. Nejde však o barvy, které bychom předem jednoznačně stanovovali. Jejich skutečná hodnota bude nastavena až při zpracování prohlížečem nebo převaděčem HTML a to podle barev, které jsou nastaveny v systému. Srozumitelněji řečeno, převezmou se barvy nastaveného pozadí, textu, oken atd. na konkrétním PC. Systémové barvy jsou obsaženy v dokumentaci k CSS 2 a jedná se o tyto barvy: ActiveBorder, ActiveCaption, AppWorkspace, Background, ButtonFace, ButtonHighlight, ButtonShadow, ButtonText, CaptionText, GrayText, Highlight, HighlightText, InactiveBorder, InactiveCaption, InactiveCaptionText, InfoBackground, InfoText, Menu, MenuText, Scrollbar, ThreeDDarkShadow, ThreeDFace, ThreeDHighlight, ThreeDLightShadow, ThreeDShadow, Window, WindowFrame, WindowText.

Příklady:
h1 {color: red;}
.test {background-color: Mediumslateblue;}
#prac {color: HighlightText;}

Číselně v RGB

V tomto modelu používáme k vytvoření barvy tří základních barev - červenou (Red), zelenou (Green) a modrou (Blue). Každá složka je ve výsledné barvě zastoupena určitým podílem. Při míchání barev ve schématu RGB vlastně specifikujeme kolik dílů dílčí barvy bude zastoupeno v barvě cílové.

Desítkově

K zápisu barvy je použito funkce rgb, která má tři parametry oddělené čárkou, udávající po řadě složky R, G a B. Rozsah hodnot parametrů je v intervalu 0 až 255. Proč je maximum zrovna 255? Pro intenzitu pixelu mají počítače (v hi color) vyhrazeno 8 bitů, což znamená 28 = 256 možností, jelikož je použita i 0, je maximální hodnota 255. Pokud tedy v RGB schématu je zastoupeno 255 dílů červené, 0 dílů zelené a 0 dílů modré, pak je výsledná barva červená.

Příklady:
h1 {color: rgb(255,0,0);}
.test {background-color: rgb(0,255,0);}
#prac {color: rgb(255,255,255);}

Procentuálně

Procentuální zápis barvy opět využívá funkci rgb se třemi parametry. Místo dekadické zápisu jednotlivých složek se používá procentuální vyjádření (255 - 100%, 0 - 0%).

Příklady:
h1 {color: rgb(100%,0%,0%);}
.test {background-color: rgb(0%,100%,0%);}
#prac {color: rgb(100%,100%,100%);}

Hexadecimálně

Zapisují se ve tvaru #RRGGBB, kde RR, GG a BB jsou po řadě hodnoty červené, zelené resp. modré složky barvy (255 - FF, 0 - 0).

Příklady:
h1 {color: #FF0000;}
.test {background-color: #00FF00;}
#prac {color: #FFFFFF;}

Hexadecimálně zkráceně

Pro barvy, jejichž složky jsou zapsány vždy dvěma stejnými číslicemi (např #FF00000), můžeme použít zkrácený zápis #RGB (např. #F00).

Příklady:
h1 {color: #F00;}
.test {background-color: #0F0;}
#prac {color: #FFF;}

Paleta bezpečných barev

Paleta bezpečných barev (Web Save Palet) je soubor 216 barev, které by se měly zobrazit na libovolném zobrazovacím zařízení stejně. Tyto barvy mají v šestnáctkovém zápisu pro každou barvu pouze šest možných hodnot: 00, 33, 66, 99, CC nebo FF. V procentuálním zápisu se mohou používat násobky 20%, což odpovídá násobkům čísla 51 v zápisu desítkovém.

  #ffffff   #000033   #000066   #000099
  #0000cc   #0000ff   #003333   #003366
  #003399   #0033cc   #0033ff   #006633
  #006666   #006699   #0066cc   #0066ff
  #009933   #009966   #009999   #0099cc
  #0099ff   #00cc33   #00cc66   #00cc99
  #00cccc   #00ccff   #00ff33   #00ff66
  #00ff99   #00ffcc   #00ffff   #330033
  #330066   #330099   #3300cc   #3300ff
  #333333   #333366   #333399   #3333cc
  #3333ff   #336633   #336666   #336699
  #3366cc   #3366ff   #339933   #339966
  #339999   #3399cc   #3399ff   #33cc33
  #33cc66   #33cc99   #33cccc   #33ccff
  #33ff33   #33ff66   #33ff99   #33ffcc
  #33ffff   #660033   #660066   #660099
  #6600cc   #6600ff   #663333   #663366
  #663399   #6633cc   #6633ff   #666633
  #666666   #666699   #6666cc   #6666ff
  #669933   #669966   #669999   #6699cc
  #6699ff   #66cc33   #66cc66   #66cc99
  #66cccc   #66ccff   #66ff33   #66ff66
  #66ff99   #66ffcc   #66ffff   #990033
  #990066   #990099   #9900cc   #9900ff
  #993333   #993366   #993399   #9933cc
  #9933ff   #996633   #996666   #996699
  #9966cc   #9966ff   #999933   #999966
  #999999   #9999cc   #9999ff   #99cc33
  #99cc66   #99cc99   #99cccc   #99ccff
  #99ff33   #99ff66   #99ff99   #99ffcc
  #99ffff   #cc0033   #cc0066   #cc0099
  #cc00cc   #cc00ff   #cc3333   #cc3366
  #cc3399   #cc33cc   #cc33ff   #cc6633
  #cc6666   #cc6699   #cc66cc   #cc66ff
  #cc9933   #cc9966   #cc9999   #cc99cc
  #cc99ff   #cccc33   #cccc66   #cccc99
  #cccccc   #ccccff   #ccff33   #ccff66
  #ccff99   #ccffcc   #ccffff   #ff0033
  #ff0066   #ff0099   #ff00cc   #ff00ff
  #ff3333   #ff3366   #ff3399   #ff33cc
  #ff33ff   #ff6633   #ff6666   #ff6699
  #ff66cc   #ff66ff   #ff9933   #ff9966
  #ff9999   #ff99cc   #ff99ff   #ffcc33
  #ffcc66   #ffcc99   #ffcccc   #ffccff
  #ffff33   #ffff66   #ffff99   #ffffcc

Závěr

Jak je zřejmé z předcházejících řádků, způsobů jak zadat v CSS konkretní barvu je více, a je jen na vás, který se naučíte a budete používat. Nejčastěji se používá hexadecimální zápis.

Online verze článku: http://www.linuxsoft.cz/article.php?id_article=281