Fiche CSS : Tailles et CouleursObjet de la fiche :État de la fiche
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Le code utilisé | Commentaires | |||
|---|---|---|---|---|
|
<html> <head> <title>test</title> <style type= "text/css"> html {font-size:100%} body {font-size:1em} p.Class1{ font-family:arial; background-color:gray; width:6em; border:solid 0.312em; font-size: 1em; } p.Class2{ font-family:arial; background-color:yellow; width:96px; border:solid 5px; font-style:16px } </style> </head> <body> <p class="Class1">Exp1 em</p> <p class="Class2">Exp2 pixel</p> </body> </html> |
L'utilisation de la taille par défaut donne les mêmes résultats sur les deux navigateur que l'on définisse la taille en pixels ou em | |||
Internet explorer![]() |
Firefox![]() |
|||
| L'agrandissement se comporte bien sur les deux navigateurs
lorsque l'on travaille en em. Pour le travail en pixels, Firefox bloque la fenêtre à 96pixels de largeur ce qui est normal en regard des normes, mais agrandit correctement la taille des caractères, qui en toutes logique devraient rester à 16 pixels.
|
||||
La réduction se comporte bien sur les deux navigateurs
lorsque l'on travaille en em. Pour le travail en pixels,
Firefox bloque la fenêtre à 96pixels de largeur ce qui est
normal en regard des normes, mais réduit correctement la taille
des caractères, qui en toutes logique devraient rester à 16
pixels.
|
||||
Remarque sur la feuille de style interne de l'exemple précédent
font-size est l'attribut spécifiant la taille des caractères. Pourquoi spécifier font-size: 100% sur l'élément html, alors que cela devrait être inutile ? Il s'agit en fait d'un correctif pour un bug d'Internet Explorer Windows, bug qui rend « anarchique » le redimensionnent du texte à la volée dans ce navigateur. Internet Explore a du mal à gérer des tailles de texte en em si aucune déclaration en pourcentages ne les précède. Avec font-size: 100% sur l'élément html, on se prémuni de ce bug. A la suite de cela on peut définir pour le corps du document (body) la référence pour la taille des caractères mais aussi pour toute syntaxe de style utilisant un dimensionnement.
Ces propriétés permettent de préciser la largeur et la hauteur occupées par un élément. Lorsque rien n'est précisé :
Lorsque l'on crée un élément on ne voit pas réellement l'espace qui est occupé, c'est pourquoi il est parfois pratique de leur affecter temporairement une bordure comme le montre l'exemple ci dessous.
| Propriétés | Valeurs | Commentaires |
|---|---|---|
| width | auto numérique entier (pixel, em) %(1) |
|
| height |
Les notions de Parent / Enfant avec des balises imbriquées
L'imbrication fonctionne par le système Parent / Enfant. Un Parent étant lui même un enfant de son Parent (sauf en haut de chaîne), et un Enfant est toujours le Parent d'un Enfant (sauf en bas de chaîne). Tous les Enfants d'un Parent représente sa descendance.

| Le code utilisé | Résultat |
|---|---|
| <html> <head> <title>Test</title> <style type="text/css"> html {font-size:100%} body {font-family:arial; font-size:1em} div {border:solid 0.1em;font-size:0.75em;color:blue} div div {border:solid 0.1em;font-size:1em;color:red} div div div{border:solid 0.1em;font-size:2em;color:gray} p {font-size:1em} td{font-size:2em} </style> </head> <body> Taille de départ <div> Texte boite 1 <div> Texte boite 2 <div> Texte boite 3 <p>Texte paragraphe boite 3</p> <table border="1"> <tr><td>Cellule tableau</td></tr> </table> </div> </div> </div> </body> </html> |
![]()
On utilise la balise div servant à délimiter des blocs. On imbrique 3 balises div et un paragraphe plus un tableau dans la boite 3. La taille du texte du bloc 1(spécifié par le style div {font-size:0.75em}) est égale à 0.75 fois la taille de son parent body qui sert de référence de départ. La taille du texte du block 2 imbriqué dans le block 1(spécifié par le style div div {font-size:1em}) est égale à 1 fois la taille de son parent div du block 1 qui lui sert de référence. La taille du texte du block 3 imbriqué dans le block 2 lui même imbriqué dans le block 1(spécifié par le style div div div {font-size:2em}) est égale à 2 fois la taille de son parent div du block 2 qui lui sert de référence. La taille du texte des cellules du tableau contenu dans le block 3 (spécifié par le style td {font-size:2em}) est égale à 2 fois la taille de son parent div du block 3 qui lui sert de référence. |
A la vue de l'exemple ci dessus on évitera d'utiliser à tord et à travers la propriété CSS font-size pour des blocs conteneurs et des éléments « intermédiaires » lorsque ça n'est pas directement utile ou nécessaire. Le plus simple sera de laisser les enfants et descendants de l'élément body hériter de la taille de texte « globale » fixée pour cet élément, et de ne corriger cette taille de texte globale qu'en bout de chaîne (si on souhaite s'en écarter, bien sûr), pour un élément ou un groupe d'éléments précis.
La valeur d'une couleur peut être définie de plusieurs manières :
White, Blue, Silver ....soit une des 16 couleurs fondamentales dénommées par un nom parlant (en anglais) normalisées et reconnues par tous les navigateurs.

La couleur est désignée par son code hexadécimal (un dièse suivi de 6 digits). Les deux premiers digits (XX) représentent la valeur de rouge, les deux suivants (YY) le vert et les deux derniers( ZZ) le bleu. En mélangeant dans des proportions différentes ces trois couleurs de base, on peut obtenir toutes les couleurs. On retrouve ci dessous les caractères hexadécimaux des couleurs définies précédemment.
Le système hexadécimal est un système de numération utilisant la base 16. Le nom hexadécimal provient du fait qu'il utilise les 10 premiers chiffres arabes (décimal, dix) puis les 6 premières lettres de l'alphabet latin (hexa, six) : 0 1 2 3 4 5 6 7 8 9 A B C D E F.

La couleur est définie par trois nombres de 0 à 255 indiquant respectivement le taux de rouge, le taux de vert et le taux de bleu. Cette notation est identique à la précédente seule la base de numérotation diffère : on écrit FF en hexadécimal ce qui équivaut à 255 en décimal.
Dans la notation rgb(a b c) a,b,c représentent chacun des entiers de 0 à 255. On peut aussi noter de la façon suivante : rgb(15% 55% 80%) pour obtenir une couleur composée de 15% de rouge, 55% de vert et 80% de bleu. La couleur Olive par exemple définie comme rgb(128, 128, 0) pourrait être définie comme rgb(50%, 50%, 0%) : en effet 128 est la moitié de 255 soit 50% de la valeur max.

Ces données d'environnement sont disponibles pour que le concepteur donne à sa page Internet un aspect de couleurs dans le style de celui défini pour l'affichage de son bureau. En effet à partir de la version 2.0 du langage CSS, il existe la possibilité d'utiliser des noms de couleur spécifiques à l'utilisateur, derrière lesquels se cachent des couleurs que l'utilisateur a réglé sur son ordinateur comme environnement de travail. De cette façon vous pouvez utiliser des couleurs qui correspondront aux couleurs choisies par l'utilisateur pour son écran pour structurer vos pages et cela sans que vous ne connaissiez ces couleurs. Comme cela existe je le signale sans voir réellement comment on peut l'appliquer artistiquement !
Les noms de couleurs spécifiques à l'utilisateur qui sont permises sont expliquées ci-après.
| Noms de couleurs spécifiques à l'utilisateur | Couleur de ou du ... | Votre bureau actuel |
|---|---|---|
| activeborder | titre de la barre de titre active de la fenêtre | xxxxxxxxxxxxxx |
| appworkspace | arrière plan de la fenêtre de l'application active. | xxxxxxxxxxxxxx |
| background | arrière-plan du bureau. | xxxxxxxxxxxxxx |
| buttonface | boutons dans les boites de message. | xxxxxxxxxxxxxx |
| buttonhighlight | ombrages en 3D des boutons dans les boites de message. | xxxxxxxxxxxxxx |
| buttontext | texte des boutons dans les boites de message. | xxxxxxxxxxxxxx |
| captiontext | titres dans les boites de message. | xxxxxxxxxxxxxx |
| graytext | texte désactivé dans les boites de message. | xxxxxxxxxxxxxx |
| highlight | éléments choisis dans des listes de choix. | xxxxxxxxxxxxxx |
| highlighttext | texte sélectionné. | xxxxxxxxxxxxxx |
| inactiveborder | ligne de titre d'une fenêtre non active. | xxxxxxxxxxxxxx |
| inactivecaption | titre dans la ligne de titre d'une fenêtre non active. | xxxxxxxxxxxxxx |
| infobackground | info-bulles (petites aides déroulantes). | xxxxxxxxxxxxxx |
| infotext | texte dans les info-bulles(petites aides déroulantes). | xxxxxxxxxxxxxx |
| menu | barres de menu. | xxxxxxxxxxxxxx |
| menutext | éléments de menu. | xxxxxxxxxxxxxx |
| scrollbar | barre de défilement dans les fenêtres. | xxxxxxxxxxxxxx |
| threeddarkshadow | couleur sombre pour les ombrages d'éléments 3D. | xxxxxxxxxxxxxx |
| threedface | éléments 3D. | xxxxxxxxxxxxxx |
| threedhighlight | éléments 3D venant d'être cliqués. | xxxxxxxxxxxxxx |
| threedlightshadow | couleur claire pour les ombrages d'éléments 3D | xxxxxxxxxxxxxx |
| threedshadow | couleur sombre pour les ombrages d'éléments 3D. | xxxxxxxxxxxxxx |
| window | arrière plan pour les fenêtres de document. | xxxxxxxxxxxxxx |
| windowframe | bordures de fenêtre. | xxxxxxxxxxxxxx |
| windowtext | texte normal dans des fenêtres de document. | xxxxxxxxxxxxxx |
C'est données correspondent aux données d'affichage du bureau, réglées par l'utilisateur comme on le voit ci-dessous pour Windows

On verra en détail dans les fiches suivantes comment affecter une couleur par exemple à du texte avec l'attribut color. Nous allons utiliser cet attribut ici pour illustrer notre propos sur les couleurs.
| Style | Résultat du style appliqué à cette cellule |
|---|---|
| style="color:fuchsia" | XXXXXXXXXXXXXXXXXXXXX |
| style="color:#c0c0c0" | XXXXXXXXXXXXXXXXXXXXX |
| style="color:rgb(0,0,255)" | XXXXXXXXXXXXXXXXXXXXX |
| Style | Résultat du style appliqué à cette cellule |
|---|---|
| style="color:highlight" | XXXXXXXXXXXXXXXXXXXXX |
| style="color:threedshadow" | XXXXXXXXXXXXXXXXXXXXX |
| Nom | Valeur Hexa | Couleur | Nom | Valeur Hexa | Couleur |
|---|---|---|---|---|---|
| aliceblue | F0F8FF | antiquewhite | FAEBD7 | ||
| aqua | 00FFFF | aquamarine | 7FFFD4 | ||
| azure | F0FFFF | beige | F5F5DC | ||
| bisque | FFE4C4 | black | 000000 | ||
| blanchedalmond | FFEBCD | blue | 0000FF | ||
| blueviolet | 8A2BE2 | brown | A52A2A | ||
| burlywood | DEB887 | cadetblue | 5F9EA0 | ||
| chartreuse | 7FFF00 | chocolate | D2691E | ||
| coral | FF7F50 | cornflowerblue | 6495ED | ||
| cornsilk | FFF8DC | crimson | DC143C | ||
| cyan | 00FFFF | darkblue | 00008B | ||
| darkcyan | 008B8B | darkgoldenrod | B8860B | ||
| darkgray | A9A9A9 | darkgreen | 006400 | ||
| darkkhaki | BDB76B | darkmagenta | 8B008B | ||
| darkolivegreen | 556B2F | darkorange | FF8C00 | ||
| darkorchid | 9932CC | darkred | 8B0000 | ||
| darksalmon | E9967A | darkseagreen | 8FBC8F | ||
| darkslateblue | 483D8B | darkslategray | 2F4F4F | ||
| darkturquoise | 00CED1 | darkviolet | 9400D3 | ||
| deeppink | FF1493 | deepskyblue | 00BFFF | ||
| dimgray | 696969 | dodgerblue | 1E90FF | ||
| firebrick | B22222 | floralwhite | FFFAF0 | ||
| forestgreen | 228B22 | fuchsia | FF00FF | ||
| gainsboro | DCDCDC | ghostwhite | F8F8FF | ||
| gold | FFD700 | goldenrod | DAA520 | ||
| gray | 808080 | green | 008000 | ||
| greenyellow | ADFF2F | honeydew | F0FFF0 | ||
| hotpink | FF69B4 | indianred | CD5C5C | ||
| indigo | 4B0082 | ivory | FFFFF0 | ||
| khaki | F0E68C | lavender | E6E6FA | ||
| lavenderblush | FFF0F5 | lawngreen | 7CFC00 | ||
| lightpink | FFB6C1 | lightsalmon | FFA07A | ||
| lightseagreen | 20B2AA | lightskyblue | 87CEFA | ||
| lightslategray | 778899 | lightsteelblue | B0C4DE | ||
| lightyellow | FFFFE0 | lime | 00FF00 | ||
| limegreen | 32CD32 | linen | FAF0E6 | ||
| magenta | FF00FF | maroon | 800000 | ||
| 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 | ||
| navy | 000080 | oldlace | FDF5E6 | ||
| olive | 808000 | olivedrab | 6B8E23 | ||
| orange | FFA500 | orangered | FFA500 | ||
| orchid | DA70D6 | palegoldenrod | EEE8AA | ||
| palegreen | 98FB98 | paleturquoise | AFEEEE | ||
| palevioletred | DB7093 | papayawhip | FFEFD5 | ||
| peachpuff | FFDAB9 | peru | CD853F | ||
| pink | FFC0CB | plum | DDA0DD | ||
| powderblue | B0E0E6 | purple | 800080 | ||
| red | FF0000 | rosybrown | BC8F8F | ||
| royalblue | 4169E1 | saddlebrown | 8B4513 | ||
| salmon | FA8072 | sandybrown | F4A460 | ||
| seagreen | 2E8B57 | seashell | FFF5EE | ||
| sienna | A0522D | silver | C0C0C0 | ||
| skyblue | 87CEEB | slateblue | 6A5ACD | ||
| slategray | 708090 | snow | FFFAFA | ||
| springgreen | 00FF7F | steelblue | 4682B4 | ||
| tan | D2B48C | teal | 008080 | ||
| thistle | D8BFD8 | tomato | FF6347 | ||
| turquoise | 40E0D0 | violet | EE82EE | ||
| wheat | F5DEB3 | white | FFFFFF | ||
| whitesmoke | F5F5F5 | yellow | FFFF00 | ||
| yellowgreen | 9ACD32 |
Tester les divers modes et observer les résultats. De plus cette simulation permet de retrouver les équivalence entre valeurs rgb et valeurs hexa
| Hexa XX | Hexa YY | Hexa ZZ |
| Résultat couleur | feuille de style rgb | feuille de style Hexa |
| rgb(0,0,0); | #000000 |
| rgb X | rgb Y | rgb Z |