Nous avons pour l'instant appris à définir du contenu et de la
sémantique (balises code ou cite par exemple).
Cependant, la mise en forme joue également un rôle primordial pour
la lisibilité d'un site et donc pour sa promotion.
Il est inenvisageable et surtout inefficace de définir tout l'aspect
visuel d'un site avec des balises font et l'attribut style
(rappelons que la balise font est obsolète).
Nous allons voir qu'il est simple de définir et de modifier l'apparence d'un
site grâce aux feuilles de style en cascade (CSS) :
Les feuilles de style en cascade (ou Cascading Style Sheets) permettent de définir proprement et dynamiquement l'apparence d'une page. Elles sont intégrées à Internet Explorer depuis la version 3.0 et à Netscape depuis la version 4.0. En pratique, cela revient à redéfinir le rôle d'une balise XHTML en lui imposant de nouvelles propriétés. Pour cela on peut utiliser :
Comme pour les navigateurs ignorant le JavaScript, il
faut cacher le code des feuilles de styles à l'aide des balises
de commentaires : |
La dernière des quatre
techniques proposées est la plus courament utilisée et la
plus intéressante comme il sera montré dans la suite. En
outre, les feuilles de styles ne font pas partie intégrante d'XHTML,
il est donc préférable d'ajouter la balise Le paramètre
|
Le gros avantage des feuilles de style est qu'elles permettent
de dissocier le contenu et l'apparence des pages XHTML et donc de redéfinir
facilement et sans oubli toute la maquette d'une page (ou d'un site si toutes
les pages utilisent une même feuille de style externe) ! Par exemple,
la police utilisée dans cette page pour les éléments de
code XHTML est gérée dans une feuille de style, et il suffit ainsi
de modifier le style de la balise code pour changer la couleur
de tous les éléments de code. D'autre part, pour un site utilisant
une feuille de style externe les temps de chargements des pages seront diminués
puisque la feuille de style ne sera chargée qu'une seule fois dans le
cache du visiteur puis ré-utilisée pour chaque page. Les feuilles
de style permettent donc de gros gains de temps lors de la refonte d'un style,
des versions adaptées à chaque support (ordinateur, Pocket PC,
...) et surtout un accès plus large à l'information pour les handicapés
(media="braille" et media="aural"),
alors faites ce petit effort !!
Une définition de style ne peut pas contenir de code
XHTML. La syntaxe est simple : balise - accolade ouvrante - liste de propriétés
- accolade fermante. Chaque propriété étant définie
par : nom - deux points - valeur - point virgule. Ainsi, on définit les
titres de type h1 de couleur orange avec une taille de 28 points
et une police cursive de la manière suivante :
h1
{
color: #FF9933;
font-size: 28pt;
font-family: cursive;
}
Propriétés du texte
|
Propriétés des tableaux
Pour spécifier des styles de bordures différentes
en haut, en bas, à gauche ou à droite, utiliser
Propriétés de ??? (en travaux)
En attendant que ce soit fini, allez voir l'excellent site selfhtml.com |
Pourquoi parle-t-on de feuilles de style en cascade ? Tout
simplement parce que l'on peut définir des hiérarchies de spécifications.
Ainsi, on peut ajouter à la définition d'un bloc div
des propriétés particulières (tailles et couleurs différentes, ...)
en définissant une nouvelle classe div.cettezone spécialisant la classe
div.
Pour cela, il suffira de définir la classe div.cettezone
dans la feuille de style et d'ajouter l'attribut class="cettezone"
aux balises div concernées.
Pour plus de détail sur les CSS, voir les spécifications du W3C. Attention, la troisième mouture des CSS est en cours mais tous les navigateurs ne supportent pas toutes les feuilles de style :
Il faut définir le style d'un site en fonction du public visé et pas uniquement pour se faire plaisir. Rappelons que la compatibilité à 100% interdit toute fioriture et effets de styles :-(, il faut donc faire des choix sans être trop ambitieux au risque de priver un site de nombreux visiteurs. La feuille de style suivante est celle qui est recommandée comme feuille de style par défaut :
(A REDIGER)
Les couleurs utilisées pour la conception de pages web sont décomposée en trois composantes rouge, verte et bleue (synthèse additive). Ces composantes ont une valeur entière comprise entre 0 et 255, ce qui offre donc un total de 256 x 256 x 256 = 16.777.216 couleurs ! Une couleur est alors représentée par un code hexadécimal de 6 digits dont chacune des paires représente une composante. Ainsi, le code hexadécimal #RRVVBB sera interprété comme une couleur ayant pour composante rouge la valeur RR, pour composante verte la valeur VV et pour composante bleue la valeur BB. Chaque composante est décrite sur deux digits en hexadécimal, c'est-à-dire que pour retrouver sa valeur en base 10 (nombres classiques), il faut multiplier le premier digit par 16 puis lui ajouter le second digit. On a donc XY équivalent en base 10 à X*16+Y où X et Y ont une valeur comprise entre 0 et F (0,1,...,8,9,A,B,C,D,E,F où A vaut 10, ..., F vaut 15). Les niveaux de gris sont décrits par des valeurs identiques des trois composantes.
Les vieux navigateurs Internet et les écrans un peu agés ne peuvent cependant pas utiliser toute la palette graphique offerte actuellement et sont limités à 256 couleurs :-(. Si une conversion de palette se fait automatiquement, les résultats obtenus ne seront peut-être pas ceux escomptés. Aussi, lorsqu'une page doit apparaître de façon similaire sur toutes les configurations possibles, on se limite généralement à 216 couleurs.
Les tableaux ci-dessous présentent ces 216 couleurs et peuvent servir de guide pour la définition d'une des 16 millions de couleurs proposées. Chaque tableau est décrit pour une valeur constante de la composante bleue, la composante rouge variant de manière croissante de gauche à droite et la composante verte variant de manière croissante de haut en bas.
Laisser le pointeur de la souris immobile un instant sur une case colorée pour voir apparaître le code hexadécimal correspondant. Celui-ci apparait également dans le formulaire central avec sa décomposition en composantes RVB. Ce formulaire permet également de convertir une couleur dans les deux sens.
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||