Sommaires
Ce langage permet de spécifier comment doit s'afficher chaque élément d'un documents HTML ou XML. Chaque élément possède une spécification d'affichage modifiable, appelé son style. L'ensemble des spécifications d'affichages, ou styles, regroupé dans un fichier, s'appel une feuille de style. Le langage CSS (Cascading Style Sheets) est un langage de feuille de style. On parlera de fichier css pour désigner des fichier contenant des feuilles de style, et ayant l'extention css.
Cette technique permet de séparer le style des documents, du contenu des documents, et simplifie ainsi l'édition de documents Web et leur maintenance.
Chaque élément possède un style par défaut, qui peut être modifié par la feuille de style du document, ou bien directement par son attribut style. Voici quatre façons d'ajouter un style dans un document HTML.
Dans <body> |
<div style="text-align:center">oOoOoOo</div> |
oOoOoOo
Bonjour |
Dans <style> |
div {text-align:center} |
|
Dans un fichier essai.css dont on fait référence après. | div {text-align:center} |
|
essai.css lié dans <head> |
<link rel="stylesheet" type="text/css" href="essai.css" /> |
|
essai.css importé dans <style> ou dans un autre fichier css |
@import url(essai.css); |
La feuille de style correspond au fichier essai.css. On notera que la dernière façon permet d'emboiter les feullles de styles les unes dans les autres en plusieurs fichiers avec des @import, sorte d'include, faisant qu'une feuille de style peut faire appel à d'autres feuilles de style et ainsi de suite.
Voici les 4 exemples complets :
Dans <body>
<html> <head> |
Dans <style>
<html> <head> |
Feuille de style importé dans <style>
<html> <head> |
Feuille de style lié dans <head>
<html> <head> |
On lie une feuille de style essai.css dans un document XML à l'aide de la déclaration d'en-tête suivante :
<?xml version="1.0" encoding="iso-8859-1"?>
<?xml-stylesheet href="essai1.css" type="text/css"?>
Noter qu'en HTML chaque élément possède un style prédéfini et certains éléments mettent en oeuvres des mécanismes d'affichage qui ne peuvent se traduire en feuille de style d'un document XML.
Les éléments en-lignes se comportent comme une suite de caractères s'insérant dans un flux de caractères selon le sens de l'écriture hérité. Ils peuvent contenir d'autres éléments en-ligne mais ne peuvent contenir d'élément de type bloc. L'élément en-ligne se comporte comme une portion linéaire de texte que l'on insérerait dans un texte en ligne, où la longueur de la ligne et les éventuels passages à la ligne ne dépendent pas de l'élément en-ligne question mais de l'élément de type bloc qui l'englobe.
Voici une liste d'éléments en-lignes : <a> <br /> <code> <img> <label> <input> <select> <span> <strong> <textarea>
Les éléments blocs se comportent comme des blocs de taille parfaitement définissable et de position absolue, ou relative, dans un flux de blocs de haut en bas, ou de gauche à droite d'abord si précisé, etc...
Voici une liste d'éléments blocs : <blockquote> <div> <form> <h1> <h2> <h3> <p> <pre> <table> <td> <tr> <li> <ol> <ul>
L'élément bloc le plus générale est <div>, et l'élément en-ligne le plus générale est <span>. La propriété display permet de changer le caractère en-ligne ou bloc de élément. Ainsi on peut inverser les rôles et l'élément suivant :
<div style="display:inline">coucou</div>
deviendra un élément en-ligne et l'élément suivant :
<span style="display:block">coucou</span>
deviendra un élément bloc.
Une feuille de style est une liste de déclarations CSS. Chaque déclaration se compose de deux parties, une première partie appelée sélecteur qui déterminent quels sont les éléments du document désignés par cette déclaration, et une seconde partie comprise entre accolade qui contient une liste de propriété-valeurs liées par un deux-points, et séparées par des point-virgules. Exemple :
p
{text-align:justify; background:yellow; font-size:12px}
Cette déclaration précise que les éléments <p> (les paragraphes) auront toutes un texte justifé, un fond jaune et une taille de caractère de 12 pixels : Cette déclaration peut s'écrire également avec des espaces et en passant à la ligne comme suit :
p
{
text-align: justify;
background: yellow;
font-size: 12px
}
ou bien en répétant trois déclaration relative aux éléments <p> comme suit :
p
{text-align: justify}
p {background: yellow}
p {font-size: 12px}
Ainsi les propriétées CSS s'ajoutent-elles lors des différentes déclaration CSS.
Chaque élément HTML posséde des attributs quelconques. Mais il existe deux attributs qui ont un rôle particulier, l'attribut id qui contient un nom permettant d'identifier l'élément, et l'attribut class qui contient la liste des classes (séparées par des caractères blancs) auxquels l'élément appartient.
Dans l'exemple précédent le sélecteur p désigne toutes les éléments <p> présent dans le document.
Il existe 7 types de sélecteurs simples :
:first-child
, :link
, :visited
, :hover
, :active
, :focus
, et :lang(fr)
:first-line
, :first-letter
, :before
, et :after
.Dans le tableau synoptique, les noms en italique peuvent être remplacé par tout autre nom. Ainsi on utilise l'élément div à titre d'exemple, mais celui-ci peut être remplacée par n'importe quelle autre tye d'élément que l'on souhaite. De même on utilise un identificateur "intro", une classe "prem", et une chaîne de caratère "Toto", mais ceux-ci peuvent être remplacés par n'importe quelle autre chaine de caractères que l'on souhaite. De même, on utilise un attribut att, mais celui-ci peut être remplacé par n'importe quelle nom d'attribut que l'on souhaite. Ces noms en italiques sont variables.
Type de sélecteur simple |
Exemple de sélecteur |
Déscription |
Universel |
* |
Désigne toutes les éléments. |
Balise |
div |
Désigne les éléments <div>. |
Identificateur |
#intro |
Désigne l'élément qui possède un attribut id égal à "intro". |
Attribut |
[att] |
Désigne les éléments qui possèdent un attribut att. |
[att = "Toto"] |
Désigne les éléments qui possèdent un attribut att égal à "Toto". |
|
[att ~= "Toto"] |
Désigne les éléments qui possèdent un attribut att contenant le mot "Toto". |
|
Classe |
.prem |
Désigne les éléments qui possèdent l'attribut class contenant le mot "prem". |
Pseudo-classe |
:first-child |
Désigne les éléments qui sont premières enfants de leur parent |
:link |
Désigne les éléments de lien qui n'ont pas encore été visité. |
|
:visited |
Désigne les éléments de lien qui ont été visité. | |
:hover |
Désigne les éléments qui sont survolées par la souris. | |
:active |
Désigne les éléments activables qui sont activées, c'est à dire par exemple, entre le moment où l'utilisateur presse le bouton de la souris et le relâche. | |
:focus |
Désigne l'élément focalisable qui possède le focus (celle-ci acceptant alors les événements du clavier ou d'autres formes d'entrées de texte). | |
:lang(fr) |
Désigne les éléments dont la langue est fr. |
|
Pseudo-élément
|
:first-line |
Désigne les premières lignes de caractères s'affichant dans les éléments blocs. Seul les propriétés de police, de couleur, d'arrière-plan, 'word-spacing', 'letter-spacing', 'text-decoration', 'vertical-align', 'text-transform', 'line-height', 'text-shadow' et 'clear' s'appliquent. |
:first-letter |
Désigne les premières lettres initiales s'affichant dans les éléments blocs. Seul les propriétés de police, de couleur, d'arrière-plan, 'text-decoration', 'vertical-align' (seulement si la valeur de la propriété 'float' est 'none'), 'text-transform', 'line-height', de marge, d'espacement, de bordure, 'float', 'text-shadow' et 'clear' s'appliquent. |
|
:before |
Désigne les textes s'affichant avant le texte de tout élément. La propriété content permet d'initialiser ce texte. |
|
:after |
Désigne les textes s'affichant après le texte de tout élément. La propriété content permet d'initialiser ce texte. |
Voici quelques exemples :
* {margin:0} |
Les marges de tous les éléments sont nulles |
p {text-align:justify} |
Les éléments <p> affichent un texte justifié. |
#intro {color:red} |
L'élément dont l'attribut id est égale à "intro" possède une écriture rouge. |
[att] {font-weight:bold} |
Les éléments possédant l'attribut att possèdent une écriture grasse. |
[att = "Toto"] {color:red} |
Les éléments dont l'attribut att est égale à "Toto" possèdent une écriture rouge. |
.prem {width:200px} |
Les éléments de classe "prem" ont une largeur de 200 pixels |
:first-child {background:red} |
Les éléments qui sont premiers enfants de leur parent ont un fond rouge. |
:link {color:blue} |
Les liens hypertextes qui n'ont pas encore été visités sont écrit en bleu |
:visited {color:black} |
Les liens hypertextes qui ont été visités sont écrit en noir |
:hover {font-size:25px} |
Les éléments survolé affiche un texte avec une taille de caractère de 25 pixels |
:active {background:red} |
Les éléments activable qui sont activé ont un fond rouge |
:focus {background:#AAA} |
L' élément focalisable qui a le focus possède un fond gris |
:lang(fr) {background:pink} |
Les éléments dont la langue est fr ont un fond rose |
:first-line {color:red} |
Les premières lignes de chaque éléments de type blocs sont rouges |
:first-letter {color:red} |
Les premières lettres de chaque éléments de type blocs sont rouges |
:before {content:"Note"} |
Chaque éléments est précédé par le texte "Note" |
:after {content:"Fin"} |
Chaque éléments est suivi par le texte "Fin" |
Plusieur sélecteurs simples A, B, C peuvent être collés en ABC, avec comme restriction que l'éventuel sélecteur d'élément ou universel soit placé en premier, et que l'éventuel sélecteur de pseudo-élément soit placé en dernier. Ce groupe de sélecteurs collés désigne alors les éléments qui sont à la fois A, B et C.
Les sélecteurs complexes se construisent à partir des sélecteurs simples ou collés X, Y, en les ajoutants à la suite selon deux opérations possibles symbolisées par le caractère blanc et le symbole > et qui dénotent un lien de descendance d'un ou plusieur niveaux, ou seulement d'un seul niveau (lien parent-enfant). Mais il y a une restriction. L'éventuel sélecteur de pseudo-élément doit être placé en dernier :
X Y désigne les éléments Y descendant des éléments X
X > Y désigne les éléments Y qui sont enfants des éléments X
Une dernière opération accessoire qu'est la virgule, et qui est de priorité plus faible que les autres opérations, permet d'unir les différents sélecteurs en un seul sélecteur :
X, Y désigne les éléments X et les éléments Y réunis.
Voici quelques exemples :
div > :hover.toto p[att]#ju {background:red} |
L'élément <p> ayant un attribut att et un attribut id égal à "ju", et étant descendant d'un élément de classe "toto" survolé par la souris et étant lui-même un enfant d'un élément <div>, possède un fond rouge. |
* > :first-letter {} |
Les premières lettres affichées par les éléments blocs, enfants d'un élément survolé par la souris, ont une taille de caractère de 25 pixels. Noter dans cette exemples qu'il faut au préalable déclarer les pseudo-éléments pour qu'ils soient pris en compte dans la seconde déclaration qui est dynamique. |
div > p:first-child {color:blue} |
Les éléments <p> qui sont premier fils des éléments <div>, autrement dit les premiers paragraphes des blocs <div>, sont écrits en bleu. |
p.toto.titi.tata {color:blue} |
Les éléments <p> qui sont de classe "toto", "titi" et "tata" sont écrits en bleu. |
Ce langage CSS, trés riche, se confronte aux restrictions nombreuses et arbitraires du HTML. Mais il peut être utilisé pour le XML dans lequel il n'y a pas de tels restrictions.
Dans le langage CSS, il existe 4 formats de définition de couleur : RGB, RGBA, HSL, HSLA, qui utilisent sous certaine condition des nombres hexadécimaux, des nomrbres décimaux et des pourcentages.
Le format RGB (Red, Green, Blue) demande trois valeurs comprise entre 0 et 255 pour les intensités lumineuses du rouge, du vert et du bleu. Voici un exemple de déclaration CSS, précisant la couleur d'écriture des paragraphes. Ce même exemple est exprimé sous 4 façons différentes :
p { color: #2F1 }
p { color: #22FF11 }
p { color: rgb(34,255,17) }
p { color: rgb(13.3%, 100%, 6.7%) }
Le symbole # demande un nombre héxadécimal en 3 caractères ou bien en 3*2 caractères. Le format RGB accepte soit 3 entiers positifs ou négatifs quelconques qui sont tronqués en des entiers compris entre 0 et 255, soit 3 pourcentages positifs ou négatifs quelconques avec d'éventuel décimal qui sont tronqués en des pourcentage compris entre 0.0% et 100.0%
Le format RGBA (Red, Green, Blue, Alpha) demande une valeur décimale supplémentaire comprise entre 0 et 1 spécifiant l'opacité (0 = transparent, 0.5 = semi-transparent, 1 = opaque).
p {
color: rgba(34,255,17,0.5) }
p { color: rgba(13.3%, 100%, 6.7%, 0.5) }
La valeur d'opacité est un nombre positif ou négatif quelconque, avec ou sans décimal, qui est tronqués en un nombre compris entre 0.0 et 1.0
Le format HSL (Hue, Saturation, Lightness) demande une première valeur comprise entre 0 et 360, pour désigner la nuance (0 = rouge, 120 = vert, 240 = bleu), et un pourcentage pour désigner la saturation de la couleur (100% = couleur pure, 50% = couleur pastel, 0% = gris), et un pourcentage pour désigner la luminosité de la couleur (100% = blanc, 50% = moitier lumineux, 0% = noir).
p {
color: hsl(34, 100%, 6.7%) }
Le format HSL accepte un premier nombre positif ou négatif quelconque, avec ou sans décimal, qui est transformé modulo 360 en un nombre compris entre 0.0 et 360.0, puis accepte 2 pourcentages relatifs quelconques avec d'éventuel décimal qui sont tronqués en des pourcentages compris entre 0.0% et 100.0%
Le format HSLA (Hue, Saturation, Lightness, Alpha) demande une valeur décimale supplémentaire comprise entre 0 et 1 spécifiant l'opacité (0 = transparent, 0.5 = semi-transparant, 1 = opaque).
p {
color: hsla(34, 100%, 6.7%, 0.5) }
La valeur d'opacité est un nombre positif ou négatif quelconque, avec ou sans décimal, qui est tronqués en un nombre compris entre 0.0 et 1.0
http://www.irem.univ-montp2.fr/optionsciences/20052006/nuanciers.pdf
(R,G,B) (H,S,L)
soit M=max(R,G,B), et m = min(R,G,B)
si M =R alors H = 60+(G-B)/M-m
si M =G alors H = 120+(B-R)/M-m
si M =B alors H = 240+(G-B)/M-m
L = (M+m)/2
si (M+m)<1 alors S = (M-m)/(M+m)
si (M+m)>1 alors S =
(M-m)/(1-M-m)
La lumière est composée d'un spéctre trés riche. Chaque composante de la lumière correspond à une fréquence. Mais ici, il n'y a que trois composantes rouge, vert, bleue que l'on note sous la forme d'un vecteur x = [x1,x2,x3], l'indice évocant l'ordre des fréquences. x1 représente l'intensité de la lumière rouge, x2 l'intensité de la lumière verte, et x3 l'intensité de la lumière bleue.
Les 16 premières couleurs
Nom |
Valeur |
R |
G |
B |
Couleur |
R |
G |
B |
black |
#000000 |
0 |
0 |
0 |
|
0% |
0% |
0% |
silver |
#C0C0C0 |
192 |
192 |
192 |
|
75% |
75% |
75% |
gray |
#808080 |
192 |
128 |
128 |
|
75% |
50% |
50% |
white |
#FFFFFF |
255 |
255 |
255 |
|
100% |
100% |
100% |
maroon |
#800000 |
128 |
0 |
0 |
|
50% |
0% |
0% |
red |
#FF0000 |
255 |
0 |
0 |
|
100% |
0% |
0% |
purple |
#800080 |
128 |
0 |
128 |
|
50% |
0% |
50% |
fuchsia |
#FF00FF |
255 |
0 |
255 |
|
100% |
0% |
100% |
green |
#008000 |
0 |
128 |
0 |
|
0% |
50% |
0% |
lime |
#00FF00 |
0 |
255 |
0 |
|
0% |
100% |
0% |
olive |
#808000 |
128 |
128 |
0 |
|
50% |
50% |
0% |
yellow |
#FFFF00 |
255 |
255 |
0 |
|
100% |
100% |
0% |
navy |
#000080 |
0 |
0 |
128 |
|
0% |
0% |
50% |
blue |
#0000FF |
0 |
0 |
255 |
|
0% |
0% |
100% |
teal |
#008080 |
0 |
128 |
128 |
|
0% |
50% |
50% |
aqua |
#00FFFF |
0 |
255 |
255 |
|
0% |
100% |
100% |
Color name |
Hex rgb |
R |
G |
B |
|
R |
G |
B |
aliceblue | #f0f8ff |
240 |
248 |
255 |
94,1% |
97,3% |
100,0% |
|
antiquewhite | #faebd7 |
250 |
235 |
215 |
98,0% |
92,2% |
84,3% |
|
aqua | #00ffff |
0 |
255 |
255 |
0,0% |
100,0% |
100,0% |
|
aquamarine | #7fffd4 |
127 |
255 |
212 |
49,8% |
100,0% |
83,1% |
|
azure | #f0ffff |
240 |
255 |
255 |
94,1% |
100,0% |
100,0% |
|
beige | #f5f5dc |
245 |
245 |
220 |
96,1% |
96,1% |
86,3% |
|
bisque | #ffe4c4 |
255 |
228 |
196 |
100,0% |
89,4% |
76,9% |
|
black | #000000 |
0 |
0 |
0 |
0,0% |
0,0% |
0,0% |
|
blanchedalmond | #ffebcd |
255 |
235 |
205 |
100,0% |
92,2% |
80,4% |
|
blue | #0000ff |
0 |
0 |
5 |
0,0% |
0,0% |
2,0% |
|
blueviolet | #8a2be2 |
138 |
43 |
26 |
54,1% |
16,9% |
10,2% |
|
brown | #a52a2a |
165 |
42 |
42 |
64,7% |
16,5% |
16,5% |
|
burlywood | #deb887 |
222 |
184 |
135 |
87,1% |
72,2% |
52,9% |
|
cadetblue | #5f9ea0 |
95 |
158 |
160 |
37,3% |
62,0% |
62,7% |
|
chartreuse | #7fff00 |
127 |
255 |
5,0 |
49,8% |
100,0% |
2,0% |
|
chocolate | #d2691e |
210 |
105 |
,30 |
82,4% |
41,2% |
0,1% |
|
coral | #ff7f50 |
255 |
127 |
,80 |
100,0% |
49,8% |
0,3% |
|
cornflowerblue | #6495ed |
100 |
149 |
237 |
39,2% |
58,4% |
92,9% |
|
cornsilk | #fff8dc |
255 |
248 |
220 |
100,0% |
97,3% |
86,3% |
|
crimson | #dc143c |
220 |
20 |
60 |
86,3% |
7,8% |
23,5% |
|
cyan | #00ffff |
0 |
255 |
255 |
0,0% |
100,0% |
100,0% |
|
darkblue | #00008b |
0 |
0 |
9 |
0,0% |
0,0% |
3,5% |
|
darkcyan | #008b8b |
0 |
139 |
139 |
0,0% |
54,5% |
54,5% |
|
darkgoldenrod | #b8860b |
184 |
134 |
,11 |
72,2% |
52,5% |
0,0% |
|
darkgray | #a9a9a9 |
169 |
169 |
169 |
66,3% |
66,3% |
66,3% |
|
darkgreen | #006400 |
0 |
100 |
0,0 |
0,0% |
39,2% |
0,0% |
|
darkgrey | #a9a9a9 |
169 |
169 |
169 |
66,3% |
66,3% |
66,3% |
|
darkkhaki | #bdb76b |
189 |
183 |
107 |
74,1% |
71,8% |
42,0% |
|
darkmagenta | #8b008b |
139 |
0 |
9 |
54,5% |
0,0% |
3,5% |
|
darkolivegreen | #556b2f |
85 |
107 |
,47 |
33,3% |
42,0% |
0,2% |
|
darkorange | #ff8c00 |
255 |
140 |
0,0 |
100,0% |
54,9% |
0,0% |
|
darkorchid | #9932cc |
153 |
50 |
04 |
60,0% |
19,6% |
1,6% |
|
darkred | #8b0000 |
139 |
0 |
0 |
54,5% |
0,0% |
0,0% |
|
darksalmon | #e9967a |
233 |
150 |
122 |
91,4% |
58,8% |
47,8% |
|
darkseagreen | #8fbc8f |
143 |
188 |
143 |
56,1% |
73,7% |
56,1% |
|
darkslateblue | #483d8b |
72 |
61 |
39 |
28,2% |
23,9% |
15,3% |
|
darkslategray | #2f4f4f |
47 |
79 |
79 |
18,4% |
31,0% |
31,0% |
|
darkslategrey | #2f4f4f |
47 |
79 |
79 |
18,4% |
31,0% |
31,0% |
|
darkturquoise | #00ced1 |
0 |
206 |
209 |
0,0% |
80,8% |
82,0% |
|
darkviolet | #9400d3 |
148 |
0 |
1 |
58,0% |
0,0% |
0,4% |
|
deeppink | #ff1493 |
255 |
20 |
47 |
100,0% |
7,8% |
18,4% |
|
deepskyblue | #00bfff |
0 |
191 |
255 |
0,0% |
74,9% |
100,0% |
|
dimgray | #696969 |
105 |
105 |
105 |
41,2% |
41,2% |
41,2% |
|
dimgrey | #696969 |
105 |
105 |
105 |
41,2% |
41,2% |
41,2% |
|
dodgerblue | #1e90ff |
30 |
144 |
255 |
11,8% |
56,5% |
100,0% |
|
firebrick | #b22222 |
178 |
34 |
34 |
69,8% |
13,3% |
13,3% |
|
floralwhite | #fffaf0 |
255 |
250 |
240 |
100,0% |
98,0% |
94,1% |
|
forestgreen | #228b22 |
34 |
139 |
,34 |
13,3% |
54,5% |
0,1% |
|
fuchsia | #ff00ff |
255 |
0 |
5 |
100,0% |
0,0% |
2,0% |
|
gainsboro | #dcdcdc |
220 |
220 |
220 |
86,3% |
86,3% |
86,3% |
|
ghostwhite | #f8f8ff |
248 |
248 |
255 |
97,3% |
97,3% |
100,0% |
|
gold | #ffd700 |
255 |
215 |
5,0 |
100,0% |
84,3% |
2,0% |
|
goldenrod | #daa520 |
218 |
165 |
,32 |
85,5% |
64,7% |
0,1% |
|
gray | #808080 |
128 |
128 |
128 |
50,2% |
50,2% |
50,2% |
|
green | #008000 |
0 |
128 |
8,0 |
0,0% |
50,2% |
3,1% |
|
greenyellow | #adff2f |
173 |
255 |
,47 |
67,8% |
100,0% |
0,2% |
|
grey | #808080 |
128 |
128 |
128 |
50,2% |
50,2% |
50,2% |
|
honeydew | #f0fff0 |
240 |
255 |
240 |
94,1% |
100,0% |
94,1% |
|
hotpink | #ff69b4 |
255 |
105 |
180 |
100,0% |
41,2% |
70,6% |
|
indianred | #cd5c5c |
205 |
92 |
92 |
80,4% |
36,1% |
36,1% |
|
indigo | #4b0082 |
75 |
0 |
0 |
29,4% |
0,0% |
0,0% |
|
ivory | #fffff0 |
255 |
255 |
240 |
100,0% |
100,0% |
94,1% |
|
khaki | #f0e68c |
240 |
230 |
140 |
94,1% |
90,2% |
54,9% |
|
lavender | #e6e6fa |
230 |
230 |
250 |
90,2% |
90,2% |
98,0% |
|
lavenderblush | #fff0f5 |
255 |
240 |
245 |
100,0% |
94,1% |
96,1% |
|
lawngreen | #7cfc00 |
124 |
252 |
2,0 |
48,6% |
98,8% |
0,8% |
|
lemonchiffon | #fffacd |
255 |
250 |
205 |
100,0% |
98,0% |
80,4% |
|
lightblue | #add8e6 |
173 |
216 |
230 |
67,8% |
84,7% |
90,2% |
|
lightcoral | #f08080 |
240 |
128 |
128 |
94,1% |
50,2% |
50,2% |
|
lightcyan | #e0ffff |
224 |
255 |
255 |
87,8% |
100,0% |
100,0% |
|
lightgoldenrodyellow | #fafad2 |
250 |
250 |
210 |
98,0% |
98,0% |
82,4% |
|
lightgray | #d3d3d3 |
211 |
211 |
211 |
82,7% |
82,7% |
82,7% |
|
lightgreen | #90ee90 |
144 |
238 |
144 |
56,5% |
93,3% |
56,5% |
|
lightgrey | #d3d3d3 |
211 |
211 |
211 |
82,7% |
82,7% |
82,7% |
|
lightpink | #ffb6c1 |
255 |
182 |
193 |
100,0% |
71,4% |
75,7% |
|
lightsalmon | #ffa07a |
255 |
160 |
122 |
100,0% |
62,7% |
47,8% |
|
lightseagreen | #20b2aa |
32 |
178 |
170 |
12,5% |
69,8% |
66,7% |
|
lightskyblue | #87cefa |
135 |
206 |
250 |
52,9% |
80,8% |
98,0% |
|
lightslategray | #778899 |
119 |
136 |
153 |
46,7% |
53,3% |
60,0% |
|
lightslategrey | #778899 |
119 |
136 |
153 |
46,7% |
53,3% |
60,0% |
|
lightsteelblue | #b0c4de |
176 |
196 |
222 |
69,0% |
76,9% |
87,1% |
|
lightyellow | #ffffe0 |
255 |
255 |
224 |
100,0% |
100,0% |
87,8% |
|
lime | #00ff00 |
0 |
255 |
5,0 |
0,0% |
100,0% |
2,0% |
|
limegreen | #32cd32 |
50 |
205 |
,50 |
19,6% |
80,4% |
0,2% |
|
linen | #faf0e6 |
250 |
240 |
230 |
98,0% |
94,1% |
90,2% |
|
magenta | #ff00ff |
255 |
0 |
5 |
100,0% |
0,0% |
2,0% |
|
maroon | #800000 |
128 |
0 |
0 |
50,2% |
0,0% |
0,0% |
|
mediumaquamarine | #66cdaa |
102 |
205 |
170 |
40,0% |
80,4% |
66,7% |
|
mediumblue | #0000cd |
0 |
0 |
5 |
0,0% |
0,0% |
2,0% |
|
mediumorchid | #ba55d3 |
186 |
85 |
11 |
72,9% |
33,3% |
4,3% |
|
mediumpurple | #9370db |
147 |
112 |
219 |
57,6% |
43,9% |
85,9% |
|
mediumseagreen | #3cb371 |
60 |
179 |
113 |
23,5% |
70,2% |
44,3% |
|
mediumslateblue | #7b68ee |
123 |
104 |
238 |
48,2% |
40,8% |
93,3% |
|
mediumspringgreen | #00fa9a |
0 |
250 |
154 |
0,0% |
98,0% |
60,4% |
|
mediumturquoise | #48d1cc |
72 |
209 |
204 |
28,2% |
82,0% |
80,0% |
|
mediumvioletred | #c71585 |
199 |
21 |
33 |
78,0% |
8,2% |
12,9% |
|
midnightblue | #191970 |
25 |
25 |
12 |
9,8% |
9,8% |
4,7% |
|
mintcream | #f5fffa |
245 |
255 |
250 |
96,1% |
100,0% |
98,0% |
|
mistyrose | #ffe4e1 |
255 |
228 |
225 |
100,0% |
89,4% |
88,2% |
|
moccasin | #ffe4b5 |
255 |
228 |
181 |
100,0% |
89,4% |
71,0% |
|
navajowhite | #ffdead |
255 |
222 |
173 |
100,0% |
87,1% |
67,8% |
|
navy | #000080 |
0 |
0 |
8 |
0,0% |
0,0% |
3,1% |
|
oldlace | #fdf5e6 |
253 |
245 |
230 |
99,2% |
96,1% |
90,2% |
|
olive | #808000 |
128 |
128 |
8,0 |
50,2% |
50,2% |
3,1% |
|
olivedrab | #6b8e23 |
107 |
142 |
,35 |
42,0% |
55,7% |
0,1% |
|
orange | #ffa500 |
255 |
165 |
5,0 |
100,0% |
64,7% |
2,0% |
|
orangered | #ff4500 |
255 |
69 |
,0 |
100,0% |
27,1% |
0,0% |
|
orchid | #da70d6 |
218 |
112 |
214 |
85,5% |
43,9% |
83,9% |
|
palegoldenrod | #eee8aa |
238 |
232 |
170 |
93,3% |
91,0% |
66,7% |
|
palegreen | #98fb98 |
152 |
251 |
152 |
59,6% |
98,4% |
59,6% |
|
paleturquoise | #afeeee |
175 |
238 |
238 |
68,6% |
93,3% |
93,3% |
|
palevioletred | #db7093 |
219 |
112 |
147 |
85,9% |
43,9% |
57,6% |
|
papayawhip | #ffefd5 |
255 |
239 |
213 |
100,0% |
93,7% |
83,5% |
|
peachpuff | #ffdab9 |
255 |
218 |
185 |
100,0% |
85,5% |
72,5% |
|
peru | #cd853f |
205 |
133 |
,63 |
80,4% |
52,2% |
0,2% |
|
pink | #ffc0cb |
255 |
192 |
203 |
100,0% |
75,3% |
79,6% |
|
plum | #dda0dd |
221 |
160 |
221 |
86,7% |
62,7% |
86,7% |
|
powderblue | #b0e0e6 |
176 |
224 |
230 |
69,0% |
87,8% |
90,2% |
|
purple | #800080 |
128 |
0 |
8 |
50,2% |
0,0% |
3,1% |
|
red | #ff0000 |
255 |
0 |
0 |
100,0% |
0,0% |
0,0% |
|
rosybrown | #bc8f8f |
188 |
143 |
143 |
73,7% |
56,1% |
56,1% |
|
royalblue | #4169e1 |
65 |
105 |
225 |
25,5% |
41,2% |
88,2% |
|
saddlebrown | #8b4513 |
139 |
69 |
19 |
54,5% |
27,1% |
7,5% |
|
salmon | #fa8072 |
250 |
128 |
114 |
98,0% |
50,2% |
44,7% |
|
sandybrown | #f4a460 |
244 |
164 |
,96 |
95,7% |
64,3% |
0,4% |
|
seagreen | #2e8b57 |
46 |
139 |
,87 |
18,0% |
54,5% |
0,3% |
|
seashell | #fff5ee |
255 |
245 |
238 |
100,0% |
96,1% |
93,3% |
|
sienna | #a0522d |
160 |
82 |
45 |
62,7% |
32,2% |
17,6% |
|
silver | #c0c0c0 |
192 |
192 |
192 |
75,3% |
75,3% |
75,3% |
|
skyblue | #87ceeb |
135 |
206 |
235 |
52,9% |
80,8% |
92,2% |
|
slateblue | #6a5acd |
106 |
90 |
05 |
41,6% |
35,3% |
2,0% |
|
slategray | #708090 |
112 |
128 |
144 |
43,9% |
50,2% |
56,5% |
|
slategrey | #708090 |
112 |
128 |
144 |
43,9% |
50,2% |
56,5% |
|
snow | #fffafa |
255 |
250 |
250 |
100,0% |
98,0% |
98,0% |
|
springgreen | #00ff7f |
0 |
255 |
127 |
0,0% |
100,0% |
49,8% |
|
steelblue | #4682b4 |
70 |
130 |
180 |
27,5% |
51,0% |
70,6% |
|
tan | #d2b48c |
210 |
180 |
140 |
82,4% |
70,6% |
54,9% |
|
teal | #008080 |
0 |
128 |
128 |
0,0% |
50,2% |
50,2% |
|
thistle | #d8bfd8 |
216 |
191 |
216 |
84,7% |
74,9% |
84,7% |
|
tomato | #ff6347 |
255 |
99 |
71 |
100,0% |
38,8% |
27,8% |
|
turquoise | #40e0d0 |
64 |
224 |
208 |
25,1% |
87,8% |
81,6% |
|
violet | #ee82ee |
238 |
130 |
238 |
93,3% |
51,0% |
93,3% |
|
wheat | #f5deb3 |
245 |
222 |
179 |
96,1% |
87,1% |
70,2% |
|
white | #ffffff |
255 |
255 |
255 |
100,0% |
100,0% |
100,0% |
|
whitesmoke | #f5f5f5 |
245 |
245 |
245 |
96,1% |
96,1% |
96,1% |
|
yellow | #ffff00 |
255 |
255 |
5,0 |
100,0% |
100,0% |
2,0% |
|
yellowgreen | #9acd32 |
154 |
205 |
,50 |
60,4% |
80,4% |
0,2% |
Les longueurs sont exprimées par une valeur numérique, positive ou négative, avec ou sans décimal, directement suivie d'une unité. Pour la valeur 0, l'unité est toutefois facultative.
Il existe 3 types d'unités de distance, les unités absolues, les unités relatives et les pourcentages.
Les valeurs de longueur sont données en valeur numérique. Pour cela, il y a deux sortes d'unités :
Les unités absolues ont un certain rapport entre elles comme l'indiquent les valeurs suivantes :
Par contre, elles n'ont pas de rapport avec le contexte, avec le reste du document. Nous allons voir maintenant les unités de longueur relatives
L'unité em se rapporte à la taille de la police. Avec elle on peut affecter une mesure relative à la taille de police de l'élément parent. Elle permet d'avoir des feuilles de style plus facilement adaptables d'un média à un autre. Les nombres décimaux sont autorisés, mais il faut tout simplement remplacer la virgule par un point. Cette valeur em est utilisable pour d'autres propriétés acceptant la mention de longueur.
L'unité ex est utilisée souvent pour exprimer la hauteur des caractères. Le point de référence est la hauteur des minuscules souvent appelée hauteur "x" lowercase. En d'autres termes, dans le cas où la taille est donnée avec une unité "ex", celle-ci est alors mesurée par rapport à la hauteur de la minuscule x de l'élément parent.
Tout comme l'unité em, cette unité est utilisée pour toutes les propriétés acceptant la mention de longueur. Toutefois, la plupart des navigateurs ont encore une certaine hésitation à traduire correctement cette valeur.
L'écran d'un ordinateur ou moniteur est formé par plusieurs petits "carrés". Ces carrés définissent la résolution ou densité de l'écran en pixels d'affichage selon l'unité de sortie, c'est-à-dire l'écran de l'ordinateur. L'unité px qui veut dire pixel correspond à un de ces petits carrés.
C'est en fait le plus petit élément de la résolution d'écran. Cette unité peut être utilisée pour toutes les propriétés acceptant les mentions de longueur.
Après la couleur, la fonte, appelé aussi police de caractère, est probablement la propriété la plus fondamentale dans une page. Toutes les fontes ne sont pas disponibles sur tous les ordinateurs (il y a des milliers de fontes). CSS fournit un mécanisme de choix de fonte par défaut. Vous inscrivez les fontes que vous voulez d'abord et vous finissez la liste avec une fonte générique.
Il y a 5 font génériques : serif, sans-serif, monospace, cursive et fantasy :
On peut consulter la liste des fontes les plus couramment installées. Voir le site http://www.codestyle.org/css/font-family/sampler-CombinedResultsFull.shtml, et en rangeant les fontes selon leur pourcentage d'installation a, b et c réspectivement sur les systèmes Windows, Mac et Unix et en évaluant selon la valuation a + b + c + a*b + b*c + a*c + a*b*c, on optient la liste préférentielle suivante (décembre 2010) :
Font |
Win |
Mac |
Unix |
Valuation |
Arial | 100 |
98 |
70 |
707819 |
Verdana | 100 |
98 |
68 |
687881 |
Times New Roman | 100 |
96 |
69 |
683752 |
Courier New | 100 |
93 |
69 |
662605 |
Georgia | 99 |
96 |
67 |
660259 |
Trebuchet MS | 99 |
95 |
67 |
655410 |
Arial Black | 98 |
95 |
67 |
647968 |
Comic Sans MS | 99 |
92 |
66 |
624034 |
Impact | 99 |
92 |
65 |
614106 |
Lucida Sans | 77 |
86 |
68 |
469955 |
Lucida Bright | 54 |
86 |
67 |
326576 |
Lucida Sans Typewriter | 54 |
86 |
67 |
326576 |
Andale Mono | 4 |
92 |
65 |
30537 |
Garamond | 87 |
34 |
7 |
24519 |
Bitstream Vera Sans Mono | 23 |
11 |
71 |
20715 |
Arial Narrow | 89 |
91 |
1 |
16523 |
Helvetica | 7 |
100 |
19 |
16159 |
Bitstream Vera Sans | 18 |
11 |
70 |
16135 |
Bitstream Vera Serif | 17 |
11 |
65 |
14344 |
Times | 5 |
99 |
16 |
10149 |
Tahoma | 100 |
86 |
0 |
8777 |
Papyrus | 66 |
90 |
0 |
6083 |
Arial Rounded MT Bold | 56 |
92 |
0 |
5274 |
Brush Script MT | 53 |
87 |
0 |
4741 |
Century Gothic | 88 |
41 |
0 |
3733 |
Courier | 0 |
100 |
33 |
3416 |
Bookman Old Style | 86 |
32 |
0 |
2857 |
Book Antiqua | 86 |
31 |
0 |
2790 |
Monotype Corsiva | 83 |
30 |
0 |
2609 |
Copperplate Gothic Bold | 63 |
34 |
0 |
2252 |
Haettenschweiler | 68 |
30 |
0 |
2143 |
Lucida Handwriting | 59 |
34 |
0 |
2096 |
Century Schoolbook | 54 |
32 |
0 |
1828 |
Goudy Old Style | 54 |
30 |
0 |
1714 |
Britannic Bold | 54 |
29 |
0 |
1650 |
Playbill | 54 |
29 |
0 |
1644 |
Footlight MT Light | 53 |
29 |
0 |
1630 |
Calisto MT | 55 |
28 |
0 |
1625 |
Colonna MT | 53 |
29 |
0 |
1613 |
Wide Latin | 54 |
28 |
0 |
1598 |
Matura MT Script Capitals | 54 |
28 |
0 |
1583 |
Calibri | 70 |
20 |
0 |
1497 |
Cambria | 70 |
18 |
0 |
1357 |
Consolas | 70 |
17 |
0 |
1278 |
Corbel | 70 |
17 |
0 |
1277 |
Candara | 70 |
16 |
0 |
1207 |
Monaco | 3 |
100 |
2 |
1205 |
Constantia | 70 |
16 |
0 |
1201 |
Palatino | 4 |
81 |
0 |
411 |
Geneva | 2 |
100 |
0 |
301 |
Helvetica Neue | 2 |
97 |
0 |
292 |
Gill Sans | 2 |
94 |
0 |
283 |
Optima | 2 |
91 |
0 |
274 |
New Century Schoolbook | 4 |
2 |
15 |
236 |
Futura | 1 |
92 |
0 |
186 |
Apple Chancery | 1 |
92 |
0 |
185 |
Hoefler Text | 1 |
89 |
0 |
180 |
Abadi MT Condensed Light | 5 |
28 |
0 |
171 |
Braggadocio | 4 |
29 |
0 |
150 |
News Gothic MT | 4 |
28 |
0 |
145 |
Kino MT | 4 |
27 |
0 |
141 |
Desdemona | 3 |
29 |
0 |
117 |
Algerian | 54 |
1 |
0 |
108 |
Univers | 6 |
14 |
0 |
102 |
Lucida Grande | 0 |
100 |
0 |
100 |
Microsoft Sans Serif | 100 |
0 |
0 |
100 |
Les meilleures familles de polices compatibles linux/windows/mac :
Le site http://www.logz.org/art-407-tit-Les-meilleures-familles-de-polices-compatibles-linux-windows-mac propose d'utiliser les familles suivantes :
serif |
font-family: |
sans-serif |
font-family: |
monospace |
font-family: |
cursive |
font-family: |
fantasy |
font-family: |
text-shadow
-moz-box-shadow
-moz-radial-gradient
-moz-linear-gradient