Verificați erata pentru acest document, care poate să conțină corecturi normative.
Vezi deasemenea traducerile.
Copyright © 2011 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C liability, trademark and document use rules apply.
CSS (Cascading Style Sheets) este un limbaj folosit pentru a descrie redarea fișierelor HTML si XML pe ecran, pe hârtie, în vorbire, etc. Acesta folosește propietăți pentru culori și valori pentru a colora textul, fundalurile, bordurile, si alte parți ale elementelor într-un document. Această specificare descrie valorile culorilor si propietățile pentru fațadă și opacitatea grupului. Acest document include și propietăți si valori de la Nivelul 2 de CSS și valori noi.
Această secțiune descrie starea acestui document la momentul publicării. Alte documente mai noi pot exista. O listă cu toate publicăriile curente W3C și ultimele revizii a acestui raport tehnic pot fi găsite în W3C technical reports index la http://www.w3.org/TR/.
Lista de conversații publică si(arhivată) www-style@w3.org (vezi instrucțiuni) este recomandată pentru discuții despre aceste specificații. Când trimiteți un mesaj, vă rugăm să plasați în textul subiectului “css3-color”, de preferat așa: “[css3-color] …sumar al mesajului…”
Acest document a fost creat de CSS Working Group (parte a Style Activity).
Un raport de implementare separat conține o suită de teste si arată cum fiecare test din suita de teste a fost validat prin măcar două implementări independente.
O listă cu toate comentariile la cea mai recentă ciornă de ultim moment care explică modificările care au fost realizate până în momentul realizării ciornei. Comentarile primite în timpul perioadei de Recomandări pentru Candidat (pentru ciorna din 14 Mai 2003) si cum au fost ele adresate în acestă ciornă pot fi găsite în dispoziția de comentarii. Comentarile primite în timpul perioadei de Recomandări pentru Candidat (pentru ciorna din 14 Februarie 2003) si cum au fost ele adresate în acestă ciornă pot fi găsite în dispoziția de comentarii.
O listă completă de modificări a acestui document este disponibilă.
Acest document a fost revizuit de către Membrii W3C, de dezvoltatorii de programe, și de către alte grupuri W3C și parți interesate, și a fost aprobat de către Director ca o Recomandare W3C. Este un document stabil și poate fi folosit ca material de referință sau citat în alt document. Rolul W3C în realizarea Recomandării este de a atrage atenția asupra specificațiilor si de a promova răspândirea ei în lume. Acest lucru îmbunătățește funcționalitate si interoperabilitatea Web-ului.
Acest document a fost realizat de un grup operativ sub incidența 5 February 2004 W3C Patent Policy. W3C menține o listă publică cu toate informațiile a oricărui brevet de invenție. realizat în legătură cu realizările grupului; pagina respectivă conține deasemenea și instrucțiuni pentru publicarea unui brevet de invenție. An individual who has actual knowledge of a patent which the individual believes contains Essential Claim(s) must disclose the information in accordance with section 6 of the W3C Patent Policy.
CSS dincolo de nivelul 2 este un set de module, împărţite pentru a permite caietului de sarcini pentru o dezvoltare treptată, împreună cu implementările lor. Această specificaţie este una dintre acele module.
Acest modul descrie proprietățile CSS care permit autorilor să specifice culoarea de prim plan și opacitatea unui element. Acest modul descrie deasemnea în detaliu tipul de valoare CSS <color> .
Nu numai că definește proprietățile și valorile legate de culoare care deja există în CSS1 și CSS2, dar deasemenea definește proprietăți și valori noi.
Grupul de lucru nu se aşteaptă ca toate implementările de CSS3 vor pune în aplicare toate proprietăţile sau valorile. În schimb, va exista cel mai probabil probabil, un număr mic de variante de CSS3, aşa-numitele "profile". De exemplu, poate fi numai faptul că profilul pentru agenții de utilizator pe culori de 32-biţi vor include toate proprietășile de legate de culoare şi valori.
Caietul de sarcini este rezultatul fuziunii a unor părţi relevante din următoarele Recomandări şi Proiecte de Lucru, precum şi adăugarea unor noi caracteristici.
Terminologie suplimentară este definită în Definiții secțiune a [CSS21]. Exemple surse de cod ale documentelor și fragmente sunt oferite în XML [XML10] sau sintaxa HTML [HTML401].
color’
| Nume: | color |
| Valori: | <color> | inherit |
| Inițial: | depinde de agentul de utilizator |
| Se aplică la: | toate elementele |
| Moștenit: | da |
| Procentaje: | N/A |
| Media: | vizual |
| Valoarea calculată: |
|
Această proprietate descrie culoarea de prim plan a conținutului text a unui element.
În plus este folosit pentru a obține potențiale valori indirecte (currentColor)
pentru oricare alte proprietăți care acceptă valori de culori.
Dacă cuvântul cheie
‘currentColor’ este setat pe proprietatea ‘color’
însine, este tratat ca ‘color:
inherit’.
Sunt multe metode de a specifica culoarea lime green:
em { color: lime } /* color keyword */
em { color: rgb(0,255,0) } /* RGB range 0-255 */
opacity’
Opacitatea poate fi gândită ca o operaţiune de postprocesare. Conceptual, după element (inclusiv urmaşii săi), este redată într-o imagine offscreen RGBA, setarea opacității specifică modul în care se amestecă randarea offscreen în randarea compozit curentă. Vezi compunerea simplă alpha pentru detalii.
| Nume: | opacity |
| Valoare: | <alphavalue> | inherit |
| Inițial: | 1 |
| Se aplică la: | toate elementele |
| Moștenit: | nu |
| Procentaje: | N/A |
| Media: | vizual |
| Valoarea calculată: | La fel ca valoarea specificată dupa tăierea proprietății <alphavalue> la marja [0.0,1.0]. |
Din moment ce un element cu opacitatea mai mică de 1 este compus dintr-o singură imagine offscreen, conținutul exterior din afara lui nu poate
fi stratificat în ordine z între bucățile de conținut din afara lui. Din același motiv, implementările trebuie să creeze o nouă stivă context pentru
orice element cu opacitatea mai mică de 1. Dacă un element cu opacitatea mai mică de 1 nu este poziționat, implementările trebuie să deseneze stratul
care îl crează, în interiorul stivei de context părinte, la aceași ordine a stivei la care ar fi fost folosit dacă era un element pozitionat cu
‘z-index:
0’ și ‘opacity: 1’.
Dacă un element cu opacitatea mai mică de 1 este poziționat, proprietatea ‘z-index’
se aplică așa cum este descris în [CSS21],
cu excepția că
‘auto’ este tratat ca ‘0’
din moment ce o nouă stivă context este mereu creată.
Vezi secțiunea
9.9 și Apendicele
E din [CSS21]
pentru mai multe informații despre stivele de context.
Regulile din acest paragraf nu se aplică pe elementele SVG,
din moment ce SVG are propriul
model de randare ([SVG11], Capitolul 3).
O <color> este fie un cuvânt cheie sau o specificație numerică.
Lista de cuvinte cheie pentru culori este: aqua, black, blue, fuchsia, gray, green, lime, maroon, navy, olive, purple, red, silver, teal, white, și yellow. Numele de culori nu sunt sensibile la litere mari.
| Nume | Numeric | Numele Culorii | Hex rgb | Decimal |
|---|---|---|---|---|
| black | #000000 | 0,0,0 | ||
| silver | #C0C0C0 | 192,192,192 | ||
| gray | #808080 | 128,128,128 | ||
| white | #FFFFFF | 255,255,255 | ||
| maroon | #800000 | 128,0,0 | ||
| red | #FF0000 | 255,0,0 | ||
| purple | #800080 | 128,0,128 | ||
| fuchsia | #FF00FF | 255,0,255 | ||
| green | #008000 | 0,128,0 | ||
| lime | #00FF00 | 0,255,0 | ||
| olive | #808000 | 128,128,0 | ||
| yellow | #FFFF00 | 255,255,0 | ||
| navy | #000080 | 0,0,128 | ||
| blue | #0000FF | 0,0,255 | ||
| teal | #008080 | 0,128,128 | ||
| aqua | #00FFFF | 0,255,255 |
body {color: black; background: white }
h1 { color: maroon }
h2 { color: olive }
Modelul de culori RGB este folosit în specificări ca o culoare numerică. Aceste exemple folosesc aceași culoare:
em { color: #f00 } /* #rgb */
em { color: #ff0000 } /* #rrggbb */
em { color: rgb(255,0,0) }
em { color: rgb(100%, 0%, 0%) }
Formatul unei valori RGB în notarea hexadecimală este ‘#’ urmată imediat de fie trei sau 6 caractere hexadecimale.
Notația RGB cu 3 cifre (#rgb)
este transformată în forma sa de șase cifre
(#rrggbb)
prin copierea cifrelor, și nu prin adăugarea de zerouri.
De exemplu,
#fb0 se extinde în #ffbb00.
Acest lucru asigură că albul(#ffffff) poate fi specificat folosind notarea scurtată (#fff) și
înlătură orice dependență the adâncimea de culoare a ecranului.
Formatul unei valori RGB în notație funcțională este ‘rgb(’ urmată de o listă de 3 valori numerice despărțite prin virgulă (fie trei valori întregi sau treci procentaje)
urmate de ‘)’.
Valoarea întreagă 255 corespunde valorii 100%, și către F sau FF în notația hexadecimală:
rgb(255,255,255) = rgb(100%,100%,100%) = #FFF.
Spațiile albe sunt permise în jurul valorilor numerice.
Toate culorile RGB sunt specificate în paleta de culori sRGB (vezi [SRGB]). Agenții de utilizator pot să varieze în fidelitatea cu care reprezintă aceste culori, dar folosind sRGB avem o definiție masurabilă obiectiv și neambiguu a culorilor, care poate fi relaționat la standardele internaționale (vezi [COLORIMETRY]).
Valorile din afara gamei de culori a dispozitivului vor fi adapatate gamei de culori când gama de culori este cunoscută: roșul, verdele, și albastrul trebuie să fie schimbate pentru a intra în marja suportată de dispozitiv. Agenții de utilizatori pot să realizeze o mapare de înaltă calitate a culorilor de la o gamă de culori la alta. Această specificare nu prezintă un comportament precis a adaptării culorilor. Pentru o monitor normal CRT, a cărui gamă de culori este la fel ca sRGB, următoarele patru reguli sunt echivalente:
em { color: rgb(255,0,0) } /* integer range 0 - 255 */
em { color: rgb(300,0,0) } /* clipped to rgb(255,0,0) */
em { color: rgb(255,-10,0) } /* clipped to rgb(255,0,0) */
em { color: rgb(110%, 0%, 0%) } /* clipped to rgb(100%,0%,0%) */
Alte dispozitive, cum ar fi imprimantele, au game diferite față de sRGB; câteva culori în afara marjei sRGB 0..255 vor fi reprezentate (înăuntru gamei dispozitivului) , în timp ce alte culori din cadrul marjei sRGB 0.255 vor fi înafara gamei de culori a dispozitivului și prin urmare nu vor fi mapate.
Modelul de culoare RGB este extins în această specificație pentru a include “alpha” permițând specificarea opacității unei culori. Vezi compunerea simplă alpha pentru detalii. Aceste exemple folosesc toate aceași culoare:
em { color: rgb(255,0,0) } /* integer range 0 - 255 */
em { color: rgba(255,0,0,1) /* the same, with explicit opacity of 1 */
em { color: rgb(100%,0%,0%) } /* float range 0.0% - 100.0% */
em { color: rgba(100%,0%,0%,1) } /* the same, with explicit opacity of 1 */
Față de valorile RGB, nu există o notare hexadecimală pentru o valoare RGBA.
Formatul unei valori RGBA în notația funcțională este ‘rgba(’ urmat de o listă despărțită prin virgulă de trei valori numerice (fie trei numere întregi sau procentaje
),
urmate de un <alphavalue>, urmate de ‘)’. Valoarea întreagă 255 corespunde valorii 100%, rgba(255,255,255,0.8) = rgba(100%,100%,100%,0.8).
Spațiile albe sunt permise în jurul valorilor numerice.
Implementările trebuie să taie componentele ros,verde, și albastru din valorile culorii RGBA pe gama de culori a dispozitivelor în concordanță cu regulile pentru valorile de culoare RGB compuse din acele componente.
Aceste exemple specifică efectele posibile folosind notația rgba():
p { color: rgba(0,0,255,0.5) } /* semi-transparent solid blue */
p { color: rgba(100%, 50%, 0%, 0.1) } /* very transparent solid orange */
Mențiune. Dacă valorile RGBA nu sunt suportate de un agent de utilizator, ele trebuie tratate ca valori nerecunoscute de regulile de parsare CSS. ([CSS21], Capitolul 4). Valorile RGBA trebuie să nu fie tratate simplu la fel ca niște valori RBG ignorand proprietatea opacity.
transparent’
CSS1 introduce valoarea ‘transparent’ pentru proprietatea background-color
. CSS2 permite border-color să accepte valoarea ‘transparent’
. The Open eBook(tm) Publication Structure 1.0.1 [OEB101] extinde proprietatea ‘color’ cât să accepte cuvântul cheie ‘transparent’. CSS3 extinde valoarea culorii astfel încât să cuprindă cuvântul cheie ‘transparent’ permițând folosirea lui cu toate proprietățile care acceptă o valoare <color>.
Acest lucru simplifică definirea acestor proprietăți în CSS3.
CSS3 adaugă culori numerice nuanță-saturație-luminozitate (HSL) ca un complementar la valorile numerice RGB. A fost observat faptul că culorile RGB au urmatoarele limitări:
Sunt alte câteva scheme de culori posibile. Câteva avantaje ale HSL sunt faptul că luminozitatea și înegrirea sunt simetrice (care nu este cazul la HSV de exemplu) , și este trivial sa transformăm HSL în RGB.
Culorile HSL sunt encodate ca un triplet (nuanță, saturație, luminozitate). Nuanța este reprezentată ca un unghi din paleta de culori (de exemplu: curcubeul reprezentat într-un cerc). Acest unghi este deobicei măsurat in grade, unitate folosită implicit în CSS; din punct de vedere a sintaxei, doar un <număr> este dat. Prin definiție roșu=0=360, și celelalte culori sunt împrăștiate în jurul cercului, deci verde = 120, albastru = 240, s.a.m.d. Ca un unghi, implicit îmbracă valori cum ar fi -120=240 și 480=120. O metodă de implementare ar putea fi normalizarea unui astfel de unghi x la o gamă de valori [0,360] (de exemplu zero grade, inclusiv, la 360 grade, exclusiv) este de a calcula (((x mod 360) + 360) mode 360). Saturația și luminozitatea sunt reprezentate ca procentaje. 100% reprezintă saturația maximă, și 0% este doar o urma de gri. 0% luminozitate este negru, 100% luminozitate este alb, și 50% luminozitate este “normal”.
Deci de exemplu:
* { color: hsl(0, 100%, 50%) } /* red */
* { color: hsl(120, 100%, 50%) } /* lime */
* { color: hsl(120, 100%, 25%) } /* dark green */
* { color: hsl(120, 100%, 75%) } /* light green */
* { color: hsl(120, 75%, 75%) } /* pastel green, and so on */
Avantajele folosirii HSL față de RGB este intuitivitatea evidentă: poți să ghicești la ce culori dorești, și apoi să alterezi. Este deasemnea ușor să creezi seturi de culori potrivite (prin păstrarea nuanței la aceeași valoare și variind luminozitatea/întunecarea, și saturația)
Dacă saturația este mai mică de 0%, implementarea trebuie să o taie la 0%. Dacă valuarea rezultată este în afara gamei de valori, implementarea trebuie să o taie la gama dispozitivului. Această tăiere trebuie să mențină nuanța atunci când este posibil, în caz contrar este nedefinit. (Cu alte cuvinte, tăierea este diferită de la aplicarea regulilor de tăiere a culorilor RGB după aplicarea algoritmului de mai jos pentru transpunerea HSL în RGB.)
Algoritmul pentru a traduce HSL în RGB este simplu (aici exprimat în ABC [ABC] care a fost folosit pentru a genera tabelele.) În aceste algoritmuri, toate cele trei valori (H, S și L) au fost normalizate la fracții 0..1:
HOW TO RETURN hsl.to.rgb(h, s, l):
SELECT:
l<=0.5: PUT l*(s+1) IN m2
ELSE: PUT l+s-l*s IN m2
PUT l*2-m2 IN m1
PUT hue.to.rgb(m1, m2, h+1/3) IN r
PUT hue.to.rgb(m1, m2, h ) IN g
PUT hue.to.rgb(m1, m2, h-1/3) IN b
RETURN (r, g, b)
HOW TO RETURN hue.to.rgb(m1, m2, h):
IF h<0: PUT h+1 IN h
IF h>1: PUT h-1 IN h
IF h*6<1: RETURN m1+(m2-m1)*h*6
IF h*2<1: RETURN m2
IF h*3<2: RETURN m1+(m2-m1)*(2/3-h)*6
RETURN m1
Fiecare tabel de mai jos reprezintă o nuanță. Doisprezece culori distanțate egal (de exemplu la un interval de 30°) au fost alese din cercul de culori: roșu, galben, verde, cyan, albastru,magenta, cu toate culorile intermediare (ultima este culoarea dintre roșu și magenta).
Axa X din fiecare tabel reprezintă saturația (100%, 75%, 50%, 25%, 0%).
Axa Y reprezintă luminozitatea. 50% este “normal”.
| 0° Reds | |||||
|---|---|---|---|---|---|
| Saturație | |||||
| 100% | 75% | 50% | 25% | 0% | |
| 100 | |||||
| 88 | |||||
| 75 | |||||
| 63 | |||||
| 50 | |||||
| 38 | |||||
| 25 | |||||
| 13 | |||||
| 0 | |||||
| 30° Red-Yellows (=Oranges) | |||||
|---|---|---|---|---|---|
| Saturație | |||||
| 100% | 75% | 50% | 25% | 0% | |
| 100 | |||||
| 88 | |||||
| 75 | |||||
| 63 | |||||
| 50 | |||||
| 38 | |||||
| 25 | |||||
| 13 | |||||
| 0 | |||||
| 60° Yellows | |||||
|---|---|---|---|---|---|
| Saturație | |||||
| 100% | 75% | 50% | 25% | 0% | |
| 100 | |||||
| 88 | |||||
| 75 | |||||
| 63 | |||||
| 50 | |||||
| 38 | |||||
| 25 | |||||
| 13 | |||||
| 0 | |||||
| 90° Yellow-Greens | |||||
|---|---|---|---|---|---|
| Saturație | |||||
| 100% | 75% | 50% | 25% | 0% | |
| 100 | |||||
| 88 | |||||
| 75 | |||||
| 63 | |||||
| 50 | |||||
| 38 | |||||
| 25 | |||||
| 13 | |||||
| 0 | |||||
| 120° Greens | |||||
|---|---|---|---|---|---|
| Saturație | |||||
| 100% | 75% | 50% | 25% | 0% | |
| 100 | |||||
| 88 | |||||
| 75 | |||||
| 63 | |||||
| 50 | |||||
| 38 | |||||
| 25 | |||||
| 13 | |||||
| 0 | |||||
| 150° Green-Cyans | |||||
|---|---|---|---|---|---|
| Saturație | |||||
| 100% | 75% | 50% | 25% | 0% | |
| 100 | |||||
| 88 | |||||
| 75 | |||||
| 63 | |||||
| 50 | |||||
| 38 | |||||
| 25 | |||||
| 13 | |||||
| 0 | |||||
| 180° Cyans | |||||
|---|---|---|---|---|---|
| Saturație | |||||
| 100% | 75% | 50% | 25% | 0% | |
| 100 | |||||
| 88 | |||||
| 75 | |||||
| 63 | |||||
| 50 | |||||
| 38 | |||||
| 25 | |||||
| 13 | |||||
| 0 | |||||
| 210° Cyan-Blues | |||||
|---|---|---|---|---|---|
| Saturație | |||||
| 100% | 75% | 50% | 25% | 0% | |
| 100 | |||||
| 88 | |||||
| 75 | |||||
| 63 | |||||
| 50 | |||||
| 38 | |||||
| 25 | |||||
| 13 | |||||
| 0 | |||||
| 240° Blues | |||||
|---|---|---|---|---|---|
| Saturație | |||||
| 100% | 75% | 50% | 25% | 0% | |
| 100 | |||||
| 88 | |||||
| 75 | |||||
| 63 | |||||
| 50 | |||||
| 38 | |||||
| 25 | |||||
| 13 | |||||
| 0 | |||||
| 270° Blue-Magentas | |||||
|---|---|---|---|---|---|
| Saturație | |||||
| 100% | 75% | 50% | 25% | 0% | |
| 100 | |||||
| 88 | |||||
| 75 | |||||
| 63 | |||||
| 50 | |||||
| 38 | |||||
| 25 | |||||
| 13 | |||||
| 0 | |||||
| 300° Magentas | |||||
|---|---|---|---|---|---|
| Saturație | |||||
| 100% | 75% | 50% | 25% | 0% | |
| 100 | |||||
| 88 | |||||
| 75 | |||||
| 63 | |||||
| 50 | |||||
| 38 | |||||
| 25 | |||||
| 13 | |||||
| 0 | |||||
| 330° Magenta-Reds | |||||
|---|---|---|---|---|---|
| Saturație | |||||
| 100% | 75% | 50% | 25% | 0% | |
| 100 | |||||
| 88 | |||||
| 75 | |||||
| 63 | |||||
| 50 | |||||
| 38 | |||||
| 25 | |||||
| 13 | |||||
| 0 | |||||
La fel ca notarea funcțională
‘rgb()’ are
‘rgba()’ omologul alpha, notarea funcțională
‘hsl()’ are
‘hsla()’ omologul alpha. Vezi
compunerea simplă alpha pentru detalii. Aceste exemple specifică aceeași culoare:
em { color: hsl(120, 100%, 50%) } /* green */
em { color: hsla(120, 100%, 50%, 1) } /* the same, with explicit opacity of 1 */
Formatul unei valori de culoare HSLA în notația funcțională este
‘hsla(’ urmat de nuantă în procente, saturație si luminozitate, și <alphavalue>, urmată de ‘)’. Spațiile albe sunt permise
în jurul valorilor numerice.
Implementările trebuie să taie nuanța, saturația, si luminozitatea componentelor a valorilor de culoare HSLA către gama de dispozitive în concordanță cu regulile pentru valorile compuse de culori HSLA a acelor componente.
Aceste exemple ilustrează efectele care sunt posibile cu notația hsla():
p { color: hsla(240, 100%, 50%, 0.5) } /* semi-transparent solid blue */
p { color: hsla(30, 100%, 50%, 0.1) } /* very transparent solid orange */
Tabelul următor oferă o listă ce conține culori X11 [X11COLORS] suportate de cele mai populare programe de navigare cu specificația pentru variațiile de gri (gray/grey) din SVG 1.0. Lista rezultată este exact aceasi cu SVG 1.0 color keyword names. Această specificație extinde definiția lor dincolo de SVG. Cele două mostre de culoare de pe stânga ilustrează stabilirea culorii de fundal pentru o celulă de tabel în două moduri: prima coloană utilizează valoarea de nume a culoarii, şi a doua coloană utilizează valoarea respectivă de culoare numerică.
| Numit | Numeric | Nume Culoare | Hex rgb | Decimal |
|---|---|---|---|---|
| aliceblue | #f0f8ff | 240,248,255 | ||
| antiquewhite | #faebd7 | 250,235,215 | ||
| aqua | #00ffff | 0,255,255 | ||
| aquamarine | #7fffd4 | 127,255,212 | ||
| azure | #f0ffff | 240,255,255 | ||
| beige | #f5f5dc | 245,245,220 | ||
| bisque | #ffe4c4 | 255,228,196 | ||
| black | #000000 | 0,0,0 | ||
| blanchedalmond | #ffebcd | 255,235,205 | ||
| blue | #0000ff | 0,0,255 | ||
| blueviolet | #8a2be2 | 138,43,226 | ||
| brown | #a52a2a | 165,42,42 | ||
| burlywood | #deb887 | 222,184,135 | ||
| cadetblue | #5f9ea0 | 95,158,160 | ||
| chartreuse | #7fff00 | 127,255,0 | ||
| chocolate | #d2691e | 210,105,30 | ||
| coral | #ff7f50 | 255,127,80 | ||
| cornflowerblue | #6495ed | 100,149,237 | ||
| cornsilk | #fff8dc | 255,248,220 | ||
| crimson | #dc143c | 220,20,60 | ||
| cyan | #00ffff | 0,255,255 | ||
| darkblue | #00008b | 0,0,139 | ||
| darkcyan | #008b8b | 0,139,139 | ||
| darkgoldenrod | #b8860b | 184,134,11 | ||
| darkgray | #a9a9a9 | 169,169,169 | ||
| darkgreen | #006400 | 0,100,0 | ||
| darkgrey | #a9a9a9 | 169,169,169 | ||
| darkkhaki | #bdb76b | 189,183,107 | ||
| darkmagenta | #8b008b | 139,0,139 | ||
| darkolivegreen | #556b2f | 85,107,47 | ||
| darkorange | #ff8c00 | 255,140,0 | ||
| darkorchid | #9932cc | 153,50,204 | ||
| darkred | #8b0000 | 139,0,0 | ||
| darksalmon | #e9967a | 233,150,122 | ||
| darkseagreen | #8fbc8f | 143,188,143 | ||
| darkslateblue | #483d8b | 72,61,139 | ||
| darkslategray | #2f4f4f | 47,79,79 | ||
| darkslategrey | #2f4f4f | 47,79,79 | ||
| darkturquoise | #00ced1 | 0,206,209 | ||
| darkviolet | #9400d3 | 148,0,211 | ||
| deeppink | #ff1493 | 255,20,147 | ||
| deepskyblue | #00bfff | 0,191,255 | ||
| dimgray | #696969 | 105,105,105 | ||
| dimgrey | #696969 | 105,105,105 | ||
| dodgerblue | #1e90ff | 30,144,255 | ||
| firebrick | #b22222 | 178,34,34 | ||
| floralwhite | #fffaf0 | 255,250,240 | ||
| forestgreen | #228b22 | 34,139,34 | ||
| fuchsia | #ff00ff | 255,0,255 | ||
| gainsboro | #dcdcdc | 220,220,220 | ||
| ghostwhite | #f8f8ff | 248,248,255 | ||
| gold | #ffd700 | 255,215,0 | ||
| goldenrod | #daa520 | 218,165,32 | ||
| gray | #808080 | 128,128,128 | ||
| green | #008000 | 0,128,0 | ||
| greenyellow | #adff2f | 173,255,47 | ||
| grey | #808080 | 128,128,128 | ||
| honeydew | #f0fff0 | 240,255,240 | ||
| hotpink | #ff69b4 | 255,105,180 | ||
| indianred | #cd5c5c | 205,92,92 | ||
| indigo | #4b0082 | 75,0,130 | ||
| ivory | #fffff0 | 255,255,240 | ||
| khaki | #f0e68c | 240,230,140 | ||
| lavender | #e6e6fa | 230,230,250 | ||
| lavenderblush | #fff0f5 | 255,240,245 | ||
| lawngreen | #7cfc00 | 124,252,0 | ||
| lemonchiffon | #fffacd | 255,250,205 | ||
| lightblue | #add8e6 | 173,216,230 | ||
| lightcoral | #f08080 | 240,128,128 | ||
| lightcyan | #e0ffff | 224,255,255 | ||
| lightgoldenrodyellow | #fafad2 | 250,250,210 | ||
| lightgray | #d3d3d3 | 211,211,211 | ||
| lightgreen | #90ee90 | 144,238,144 | ||
| lightgrey | #d3d3d3 | 211,211,211 | ||
| lightpink | #ffb6c1 | 255,182,193 | ||
| lightsalmon | #ffa07a | 255,160,122 | ||
| lightseagreen | #20b2aa | 32,178,170 | ||
| lightskyblue | #87cefa | 135,206,250 | ||
| lightslategray | #778899 | 119,136,153 | ||
| lightslategrey | #778899 | 119,136,153 | ||
| lightsteelblue | #b0c4de | 176,196,222 | ||
| lightyellow | #ffffe0 | 255,255,224 | ||
| lime | #00ff00 | 0,255,0 | ||
| limegreen | #32cd32 | 50,205,50 | ||
| linen | #faf0e6 | 250,240,230 | ||
| magenta | #ff00ff | 255,0,255 | ||
| maroon | #800000 | 128,0,0 | ||
| mediumaquamarine | #66cdaa | 102,205,170 | ||
| mediumblue | #0000cd | 0,0,205 | ||
| mediumorchid | #ba55d3 | 186,85,211 | ||
| mediumpurple | #9370db | 147,112,219 | ||
| mediumseagreen | #3cb371 | 60,179,113 | ||
| mediumslateblue | #7b68ee | 123,104,238 | ||
| mediumspringgreen | #00fa9a | 0,250,154 | ||
| mediumturquoise | #48d1cc | 72,209,204 | ||
| mediumvioletred | #c71585 | 199,21,133 | ||
| midnightblue | #191970 | 25,25,112 | ||
| mintcream | #f5fffa | 245,255,250 | ||
| mistyrose | #ffe4e1 | 255,228,225 | ||
| moccasin | #ffe4b5 | 255,228,181 | ||
| navajowhite | #ffdead | 255,222,173 | ||
| navy | #000080 | 0,0,128 | ||
| oldlace | #fdf5e6 | 253,245,230 | ||
| olive | #808000 | 128,128,0 | ||
| olivedrab | #6b8e23 | 107,142,35 | ||
| orange | #ffa500 | 255,165,0 | ||
| orangered | #ff4500 | 255,69,0 | ||
| orchid | #da70d6 | 218,112,214 | ||
| palegoldenrod | #eee8aa | 238,232,170 | ||
| palegreen | #98fb98 | 152,251,152 | ||
| paleturquoise | #afeeee | 175,238,238 | ||
| palevioletred | #db7093 | 219,112,147 | ||
| papayawhip | #ffefd5 | 255,239,213 | ||
| peachpuff | #ffdab9 | 255,218,185 | ||
| peru | #cd853f | 205,133,63 | ||
| pink | #ffc0cb | 255,192,203 | ||
| plum | #dda0dd | 221,160,221 | ||
| powderblue | #b0e0e6 | 176,224,230 | ||
| purple | #800080 | 128,0,128 | ||
| red | #ff0000 | 255,0,0 | ||
| rosybrown | #bc8f8f | 188,143,143 | ||
| royalblue | #4169e1 | 65,105,225 | ||
| saddlebrown | #8b4513 | 139,69,19 | ||
| salmon | #fa8072 | 250,128,114 | ||
| sandybrown | #f4a460 | 244,164,96 | ||
| seagreen | #2e8b57 | 46,139,87 | ||
| seashell | #fff5ee | 255,245,238 | ||
| sienna | #a0522d | 160,82,45 | ||
| silver | #c0c0c0 | 192,192,192 | ||
| skyblue | #87ceeb | 135,206,235 | ||
| slateblue | #6a5acd | 106,90,205 | ||
| slategray | #708090 | 112,128,144 | ||
| slategrey | #708090 | 112,128,144 | ||
| snow | #fffafa | 255,250,250 | ||
| springgreen | #00ff7f | 0,255,127 | ||
| steelblue | #4682b4 | 70,130,180 | ||
| tan | #d2b48c | 210,180,140 | ||
| teal | #008080 | 0,128,128 | ||
| thistle | #d8bfd8 | 216,191,216 | ||
| tomato | #ff6347 | 255,99,71 | ||
| turquoise | #40e0d0 | 64,224,208 | ||
| violet | #ee82ee | 238,130,238 | ||
| wheat | #f5deb3 | 245,222,179 | ||
| white | #ffffff | 255,255,255 | ||
| whitesmoke | #f5f5f5 | 245,245,245 | ||
| yellow | #ffff00 | 255,255,0 | ||
| yellowgreen | #9acd32 | 154,205,50 |
currentColor’
CSS1 și CSS2 definesc valorile inițiale a proprietății ‘border-color’ să fie valoarea proprietății
‘
dar nu a definit un cuvânt cheie corespunzător. Această omisiune a fost recunoscută de SVG, și astfel SVG 1.0
a introdus valoarea ‘color’
currentColor’
pentru proprietățile ‘fill’, ‘stroke’, ‘stop-color’, ‘flood-color’, and ‘lighting-color’. CSS3 extinde valoarea culorii astfel încât să includă cuvântul cheie ‘currentColor’ care să permitp folosirea ei cu toate proprietățile care acceptă o valoare <color> .
Acest lucru simplifică
definirea acestor proprietăți în CSS3.
color’. Valoarea calculatp a cuvântului cheie ‘currentColor’ este valoarea calculată din proprietatea ‘color’
property. Dacă cuvântul cheie ‘currentColor’ este setat pe proprietatea însăși ‘color’ , este tratat ca ‘color:
inherit’.
Învechit. În plus faţă de posibilitatea de a atribui valori de cuvinte cheie de culoare la text, fundaluri, etc., CSS2 a permis autorilor de a specifica culorile într-o manieră care să le poate integra în mediul grafic al utilizatorului.
Pentru sistemele care nu au o valoare corespunzătoare, valoarea specificată ar trebui sa fie mapată la cea mai apropiată valoare din sistemul de culori, sau la o culoare predefinită. Rețineți că unele profile de CSS nu suportă Sistemul de Culori deloc.
În continuare avem o listare cu valorile suplimentare pentru valorile de culoare CSS și semnificația lor generală. Orice proprietate de culoare poate să aibă unul din urmatoarele nume. Chiar dacă acestea nu sunt sensibile la litere mari/mici, este recomandat scrierea cu mixtă cu majuscule așa cum este prezentat mai jos, pentru a face numele mult mai lizibile.
De exemplu, pentru a seta culorile de prim plan si fundal a unui paragraf la aceleasi culori de prim plan si fundal a ferestrei utlizatorului, folosiți:
p { color: WindowText; background-color: Window }
Mențiune. Sistemul de valori de culori din CSS2 au fost înlocuite în favoarea proprietății CSS3 UI ‘appearance’ . Dacă doriți să imitați aspectul unui element de interfață de utilizator sau control, folosiți proprietatea
‘appearance’ în loc să încercați să mimați o interfață de utilizator prin a combinație de sisteme de culori.
Deşi culorile pot adăuga cantităţi semnificative de informaţii pentru un document şi de a le face mai uşor de citit, vă rugăm să luați în considerare Liniile Directoare de accesibilitate a conținutului web W3C [WCAG20] atunci când includeți culoare în documentele dumneavoastră.
Când sunt schițate, implementările trebuie să suporte alpha conform regulilor din Secțiunea
14.2 Compunearea simplă alpha de [SVG11]. (Dacă prorpietățile ‘color-interpolation’ sau
‘color-rendering’ menținute în acea secțiune nu sunt implementate sau nu se aplică, implementările trebuie
să se comporte ca și cum ar avea valorile lor inițiale.)
Această anexă este informativă, nu normativă. Această foaie de stil ar putea fi folosită într-o implementare, ca parte a stilului implicit de HTML4, XHTML1, XHTML1.1, XHTML de bază, şi alte documente din familie XHTML.
html {
color: black;
background: white;
}
/* traditional desktop user agent colors for hyperlinks */
:link { color: blue; }
:visited { color: purple; }
/* default focus outline */
:focus {
outline: 1px dotted; /* or 1px dotted invert */
}
Fiecare specificatie care folosește Culori CSS3 trebuie să definească un subset al caracteristicilor de Culori CSS3 pe care îl acceptă de exclude, și descrie sensul local al tuturor componentelor din acel subset.
Exemple care nu sunt normative:
| Profilul de Culori CSS3 | |
|---|---|
| Specificații | HTML4 |
| Permite | Cuvintele cheie de bază pentru culori Valori de culori de șase cifre RGB |
| Exclude | proprietatea ‘color’proprietatea ‘ opacity’RGB valori de trei cifre hex de culoare şi RGB notaţie de valoare funcţională Valori de culoare RGBA Valori de culoare HSL și HSLA Cuvinte cheie extinse de culoare Valoarea de culoare ‘ currentColor’Culori CSS2 UI Valoarea de culoare ‘ transparent’
|
| Constrângeri suplimentare | nici una. |
| Profilul de Culoare CSS3 | |
|---|---|
| Specificații | Nivelul 1 de CSS |
| Permite | proprietatea ‘color’ Cuvintele cheie de bază pentru culori Valorile de culori RGB |
| Exclude | proprietatea ‘opacity’Valorile de culori RGBA Valorile de culori HSL și HSLA Cuvinte cheie extinse de culoare Valoarea de culoare ‘ currentColor’ Culori CSS2 UI Valoare de culoare ‘ transparent’
|
| Constrângeri suplimentare | nici una. |
| Profilul de Culoare CSS3 | |
|---|---|
| Specificații | Nivelul 2 de CSS |
| Permite | proprietatea ‘color’ Cuvintele cheie de bază a culorilor Valori de culoare RGB Culori CSS2 UI Valoarea de culoare‘ transparent’
|
| Exclude | proprietatea ‘opacity’Valori de culoare RGBA Valori de culoare HSL și HSLA Cuvinte cheie extinse de culoare Valoarea de culoare ‘ currentColor’
|
| Constrângeri suplimentare | valoarea de culoare ‘transparent’ nu este validă pentru proprietatea
‘color’
.valoarea de culoare ‘ orange’
(parte a Cuvintele Cheie Extinse de Culoare) este acceptată in nivelul 2 revizia 1 a CSS-ului
|
| Profilul de Culoare CSS3 | |
|---|---|
| Specificații | SVG 1.0 și 1.1 |
| Permite | proprietatea ‘color’ proprietatea ‘ opacity’Cuvintele cheie de bază pentru culoare Valori de culoare RGB Culori CSS2 UI Cuvinte cheie suplimentare de culori ‘ currentColor’
|
| Exclude | Valorile culorilor RGBA, HSL și HSLA ‘ transparent’
|
| Constrângeri suplimentare | ‘currentColor’ valoarea culorii nu este validp pentru proprietatea
‘color’
.
|
O Suită de Teste pentru un Modul de Culori CSS a fost dezvoltată, deși teste suplimentare pot fi adăugate. Această suită de teste este destinată verificărilor operate de agenții de utilizatori pentru conformitatea lor cu specificațiile. Această suită de teste nu este exhaustivă și nu acoperă toate valorile numerice posibile de culoare. Aceste teste sunt disponibile la http://www.w3.org/Style/CSS/Test/CSS3/Color/current/.
O serie de caracteristici care au fost prezente în Recomandarea Candidat din 14 Mai 2003 nu mai sunt prezente în acest caiet de sarcini. Cu toate acestea, cererea de implementare pentru aceste caracteristici rămâne, și ele pot fi include într-o versiune viitoare al acestei specificații având în vedere un număr suficient de implementări și o suită de teste pentru a demonstra inretoperabilitatea. Aceste caracteristici sunt:
color-profile’
rendering-intent’
@color-profile’
flavor’
Mulțumiri lui Brad Pettit atât pentru scrierea profilelor de culoare, cât și pentru implementarea lor. Mulțumiri lui Steven Pemberton pentru ca a scris despre culorile HSL. Mulțumiri speciale pentru pareri lui Mark Attinasi, Bert Bos, Joe Clark, fantasai, Patrick Garies, Tony Graham, Ian Hickson, Susan Lesch, Alex LeDonne, Cameron McCormack, Krzysztof Maczyński, Chris Moschini, Chris Murphy, Christoph Päper, David Perrell, Jacob Refstrup, Dave Singer, Jonathan Stanley, Andrew Thompson, Russ Weakley, Etan Wexler, David Woolley, Boris Zbarsky, Steve Zilles, subgrupului XSL FO din cadrul grupului de muncă XSL, și pentru restul membrilor comunității www-style. Și mulțumiri lui Chris Lilley pentru ca a fost expertul rezident pentru Culorile CSS.
Acest document este diferit decât cel anterior, din 28 Octombrie 2010, Documentul de Recomandarea Propusă: data, starea și stilizarea sunt actualizate pentru Recomandarea W3C, referințele sunt actualizate, și acestă anexă cu lista de schimbări nu conține schimbări de fond.
| Proprietăți | Valori | Inițial | Se aplică la | Inh. | Procentaje | Media |
|---|---|---|---|---|---|---|
| color | <color> | inherit | depinde de agentul utilizatorului | toate elementele | da | N/A | vizual |
| opacity | <alphavalue> | inherit | 1 | toate elementele | nu | N/A | vizual |