Kleuren in HTML/CSS |
|
Handleiding HTML |
Inhoud Index |
|
In dit onderdeel komen aan de orde Introductie, Kleuren definiëren, RGB-kleuren, Kleurnamen, Systeemkleuren, Veilig kleurenpalet, Kleuren in HTML en Kleuren in CSS. |
IntroductieKleuren kunnen voor meerdere onderdelen van een HTML-document vastgelegd worden, bijvoorbeeld voor:
Meer mogelijkheden heb je als je gebruik maakt van verschillende stijleigenschappen in Cascading Style Sheets:
In dit onderdeel wordt beschreven op welke manieren kleuren gedefinieerd kunnen worden. Ook wordt aangegeven welke van deze manieren gebruikt kunnen worden voor HTML en CSS. |
Kleuren definiërenDoor een kleurenmonitor worden kleuren weergegeven als een bepaalde combinatie van rood, groen en blauw. Daarom ligt het voor de hand ook in HTML en CSS kleuren vast te leggen als een mix van deze basiskleuren. Er zijn verschillende manieren om de intensiteit van elk van de kleuren rood, groen en blauw vast te leggen. Het kan door middel van percentages, numerieke getallen en hexadecimale notatie. Behalve als een RGB-kleur bieden HTML en CSS ook de mogelijkheid een kleur te definiëren door middel van een kleurnaam. Een bijzondere vorm hiervan is het gebruik van systeemkleuren. De verschillende manieren worden hierna beschreven. Vervolgens wordt ingegaan op het veilig kleurenpalet, dat de kleuren bevat welke door elke browser op elk systeem kunnen worden weergegeven. |
KleurnamenDe meest eenvoudige manier om een kleur vast te leggen is door middel van een naam, welke veel makkelijker te onthouden is dan een of andere combinatie van cijfers en/of letters.
Deze kleuren zijn afkomstig uit het originele palet met 16 Windows VGA-kleuren. Naast de 16 kleurnamen ondersteunen veel browsers nog eens 124 extra namen, zoals MediumSpringGreen, LightGoldenrodYellow, Gainsboro en BurlyWood. Het gebruik van dit soort namen wordt niet aanbevolen. Niet elke naam wordt door elke browser ondersteund en bovendien maken ze geen deel uit van het veilig kleurenpalet. Kleurnamen zijn case-insensitive, dat wil zeggen dat het niet uitmaakt of ze in hoofdletters of in kleine letters worden geschreven. In de volgende afbeelding zijn de 16 standaard kleurnamen weergegeven. Tevens zijn daarbij de bijbehorende RGB-waarden vermeld. Te zien is dat in het eerste blok de kleuren steeds de volle intensiteit (100%) hebben en in het tweede blok de halve intensiteit (50%). In het laatste blok zijn de waarden voor rood, groen en blauw per kleur gelijk en dat betekent dat het om grijstinten gaat. |
SysteemkleurenNieuw in CSS2 is de mogelijkheid tot het definiëren van systeemkleuren. Dat zijn geen vaste kleuren, maar verwijzingen naar de kleuren die gebruikt worden door het systeem, waarop het document wordt weergegeven. Bijvoorbeeld een verwijzing naar de kleur van de titelbalk van het actieve venster (ActiveCaption), of naar de kleur van de tekst in de titelbalk (CaptionText). Het idee achter de mogelijkheid om systeemkleuren te definiëren is, dat hiermee de kleuren afgestemd kunnen worden op wat de gebruiker (blijkbaar) plezierig vindt of nodig heeft vanwege een visueel handicap. In de volgende afbeelding is een overzicht van de systeemkleuren voor een standaard Windows 98 systeem te zien. Op een ander systeem dan Windows 98, of als de gebruiker via de voorkeuren andere kleuren heeft gekozen, zullen de weergegeven kleuren van die op de afbeelding afwijken. Klik op de afbeelding voor een toelichting op de systeemkleuren en om te zien of en zo ja, hoe ze door de browser worden weergegeven. Omdat je als auteur geen invloed hebt op hoe de systeemkleuren worden weergegeven, is het verstandig ze altijd te gebruiken in een combinatie van voor- en achtergrondkleur. Bovendien wordt geadviseerd ze niet door elkaar heen te gebruiken met kleuren die op een andere manier gedefinieerd zijn. De namen van de systeemkleuren zijn case-insensitive, dat wil zeggen dat het niet uitmaakt of ze in hoofdletters of in kleine letters worden geschreven. Vanwege de leesbaarheid wordt evenwel geadviseerd de in het overzicht opgenomen schrijfwijze aan te houden. |
Veilig kleurenpaletAls een RGB-kleur gedefinieerd wordt door middel van numerieke getallen, kan voor elk van de kleuren rood, groen en blauw een getal in de range van 0 t/m 255 gebruikt worden. Dat betekent dat er in totaal 256x256x256 = 16.777.216 verschillende combinaties zijn. Of elk van deze ruim 16 miljoen kleuren ook echt op het scherm van de gebruiker te zien zal zijn, hangt af van de mogelijkheden van de monitor. Hoewel de standaard de laatste jaren aanzienlijk verschoven is, zullen veel gebruikers het nog moeten doen met maximaal 65.536 of zelfs maximaal 256 kleuren. Wanneer je uit de beschikbare mogelijkheden een willekeurige kleur kiest, is de kans dus groot dat de browser deze niet kan weergeven. In dat geval zijn er twee mogelijkheden. De eerste is dat de browser uit de beschikbare kleuren er een kiest, die zo dicht mogelijk bij de bedoelde kleur komt. De andere mogelijkheid is dat de browser de kleur probeert te simuleren. Dat kan door pixels te wijzigen in verschillende kleuren, welke gecombineerd de bedoelde kleur benaderen. Dit heet dithering. In beide gevallen zal de weergave anders zijn dan bedoeld, maar met name bij dithering kan het resultaat minder geslaagd zijn. In de volgende afbeeldingen is te zien tot welk resultaat beide mogelijkheden kunnen leiden. In de bovenste rij hebben de afbeeldingen hun originele grootte, in de onderste rij is een deel van de afbeelding uitvergroot om de dithering beter te kunnen zien. Om in de eerste afbeelding de originele kleur te kunnen zien, moet het systeem minstens 65.536 kleuren (hi-color) kunnen weergeven. |
originele kleur | dichtstbijzijnde kleur | na dithering |
rgb(255,189,90) | rgb(255,204,51) | totaal 4 kleuren |
De waarden die binnen het veilig kleurenpalet voor elke basiskleur toegepast mogen worden, zijn gelijkmatig over de beschikbare range verdeeld. Naast 0%, 0 en 00, gaat het daarom om veelvouden van 20%, 51 en 33 voor respectievelijk de weergave in percentages, numerieke getallen en hexadecimale notatie: |
percentages: |
0%, 20%, 40%, 60%, 80%, 100% |
numerieke getallen: |
0, 51, 102, 153, 204, 255 |
hexadecimale notatie: |
00, 33, 66, 99, CC, FF |
|
Kleuren in HTMLIn HTML kunnen kleuren gedefinieerd worden door middel van:
Voorbeelden:
Incidenteel wordt door een browser ook één van de andere besproken mogelijkheden ondersteund. Het gebruik ervan wordt echter afgeraden, omdat het in andere browsers tot ongewenste resultaten zal leiden. Het is belangrijk altijd een voor- én een achtergrondkleur vast te leggen. Daarmee wordt voorkomen een document onleesbaar wordt, bijvoorbeeld doordat de voorgrondkleur van het document te weinig verschilt van de door de bezoeker ingestelde standaard achtergrondkleur van de browser. |
Kleuren in CSSIn CSS kunnen kleuren gedefinieerd worden door middel van:
Voorbeelden:
Ondersteuning:
Gezien de foutieve wijze waarop Netscape Navigator 4 systeemkleuren weergeeft, wordt het gebruik ervan alleen aanbevolen, als gewerkt wordt met browser-specifieke stijlbladen. Net als bij HTML is het van belang altijd zowel de voor- als de achtergrondkleur te vast te leggen. |
|