288 44 6MB
French Pages 237
Francis Draillard
➜
Premiers pas en et
CSS HTML
���������������
������
����
������������ ����������� � ������������������������������������������������������ ����������������������������������������������������������� �������������������� ���������� ���������������������������
��������������������������������� ��������������������������������� �����������������������������������
�������������������������������������� ������� ������� ���������� ����������� �������������������������
������������������������������������������������ ��������� �� ��� �����������������������������������
����������������������������������������������������������� ���������������� �� �������������� ����������������������������������
�������������������������� �������������������������������������������� ����������������������������������
��������������������������������� �������� ������� �������������������������
��������������������������������������� ��������� ���������������������
������������������ �������� �����������������������������������
������������ ����������������� � ���������������������������������������������������� ������������ �������������������������
������������������������������������������������������� ���������� ���������������������
���������������������������������������������� �������������������� �������������� �����������������������������������
���������������������� ����������������������������������� �������������� ���������������������
������������������������������������������ ���������������������� ���������� ���������������������
������������������������ ����������������������������������� �������������� ����������������������
����������� ���������������������� ��������������� ���������������������
������������ ������������� � � ����������������������������������������������������������������������������������� ������������������������������������ ������������� ���������������������
������������������������������������������ ������������� ���������������������
������������������������������������� ����� ��������� ���������������������
����������������������������� ����������� ���������������������
������������������������� ��������������������������������� ������������������������������� ��������������������������������������������������������������������� ������������������������������������ ������������������������������������� ������������������������������������������������������� ��������������������������������� ������������������������������ �������������������� ������������������������������������������������������� ����������������������������� �������� ���������������������������������������������������� ������� �������� �����������������������������������������
�����������������
���������������
������
����
ÉDITIONS EYROLLES 61, bd Saint-Germain 75240 Paris Cedex 05 www.editions-eyrolles.com
Le code de la propriété intellectuelle du 1er juillet 1992 interdit en effet expressément la photocopie à usage collectif sans autorisation des ayants droit. Or, cette pratique s’est généralisée notamment dans les établissements d’enseignement, provoquant une baisse brutale des achats de livres, au point que la possibilité même pour les auteurs de créer des œuvres nouvelles et de les faire éditer correctement est aujourd’hui menacée. En application de la loi du 11 mars 1957, il est interdit de reproduire intégralement ou partiellement le présent ouvrage, sur quelque support que ce soit, sans autorisation de l’éditeur ou du Centre Français d’Exploitation du Droit de Copie, 20, rue des GrandsAugustins, 75006 Paris. © Groupe Eyrolles, 2006, ISBN : 2-212-12011-7
Dépôt légal : août 2006 N° d’éditeur : 7493 Imprimé en France
Avant-propos Des pages web ? Oui, mais avec du style ! Si les pages que nous concevons ont belle allure, c’est bien ; mais qu’y a-t-il derrière, comment sont codées ces magnifiques pages ? Sera-t-il facile de changer la charte graphique du site ? Ou de modifier la structure d’une page ? Sera-t-il possible de créer de nouvelles pages en réutilisant le travail de mise en forme déjà effectué ? Bref, à quoi sert d’avoir une voiture rutilante, avec toit ouvrant, jantes en alliage, rétroviseurs électriques et tout le tralala, s’il faut démonter le moteur pour faire la vidange ? C’est une comparaison exagérée, certes, mais qui a le mérite de poser clairement le problème. Vous avez donc compris qu’au-delà du résultat affiché d’un site web, il faut penser à sa maintenance : rectifications, mises à jour, changements de mise en page doivent pouvoir s’effectuer facilement. Alors, existe-t-il une technique pour améliorer les pages HTML classiques, souvent pleines à craquer d’attributs de mise en forme et de tableaux pour obtenir du côte à côte ? Bien sûr ! Et vous avez de la chance, c’est justement l’objet de l’ouvrage qui est entre vos mains ! Une méthode moderne, pour créer des sites web de bonne qualité et faciles à maintenir, consiste à utiliser les feuilles de style ou CSS, Cascading Style Sheets. Les feuilles de style sont utilisées depuis longtemps dans les traitements de texte. Elles facilitent la mise en forme, tout en rendant plus homogènes les différentes pages d’un long document. En ce qui concerne les pages web,
© Groupe Eyrolles, 2005
P O C H E S A C C È S L I B R E - P R E M I E R S P A S A V E C CS S 2
les premières normes pour les feuilles de style, CSS 1, ont été publiées fin 1996, suivies des normes CSS 2 en 1998. Il a fallu que les logiciels de navigation web les prennent en compte pour que les concepteurs puissent enfin les utiliser, d’où un certain « retard à l’allumage » qui se retrouvera de la même façon avec les normes CSS 3 en préparation. Les CSS 2 sont disponibles, profitons-en ! Et découvrons ensemble dans cet ouvrage tout le bénéfice qu’elles nous apportent : c’est une façon différente d’appréhender la conception des pages web. Il suffit de s’y aventurer pour être conquis... Bonne lecture !
Structure de l’ouvrage Le premier chapitre général des feuilles de style et d’une bonne écriture XHTML/CSS. Le deuxième chapitre donne quelques rappels sur l’écriture du XHTML, des types de balises et de leur hiérarchie. Il fournit les quelques mots de vocabulaire qui seront utilisés pour expliquer la conception d’une feuille de style. Au troisième chapitre apparaissent les feuilles de style. Sont montrés par l’exemple de quelle façon et à quel endroit les écrire, quelles unités de mesure utiliser. Les propriétés CSS sont détaillées dans les quatrième et cinquième chapitres, qui expliquent respectivement les propriétés de mise en forme et celles liées au positionnement des éléments dans la page. Des exemples illustrent chaque propriété, dont toutes les valeurs possibles sont détaillées. Le sixième chapitre nous parle des autres médias pour lesquels des propriétés de styles existent et le septième chapitre présente des astuces très pratiques, pour remplacer quelques propriétés mal interprétées par Internet Explorer 6. En annexes, se trouvent les noms et codes des couleurs de base, ainsi qu’un tableau de synthèse sur le comportement des principaux navigateurs. SuiVI
© Groupe Eyrolles, 2005
Avant-propos
vent un index des propriétés, en guise de formulaire, puis une liste de références bibliographiques et de sites web utiles. Les fichiers qui servent d'exemples dans le livre peuvent être téléchargés à l’adresse http://www.aeditia.fr/livre.
Crédits des photographies et illustrations Tous droits réservés pour toutes les photographies et illustrations publiées dans cet ouvrage. Les crédits qui ne figurent pas dans les légendes des illustrations sont mentionnés ci-après. Pages de garde des chapitres 1 et 5 : extraits du site ZenGarden http://www.csszengarden.com/tr/francais/, respectivement les versions « Tranquille » par Dave Shea (http://www.mezzoblue.com) et « Like the Sea » par Lars Daum (http://www.redrotate.de/). Figures 1-3, 3-4 à 3-11, 6-2, B-1, pages de garde des chapitres 3, 4 et 6, ainsi que des annexes A, C et D : copyright 2006 Francis Draillard, Micro Application et ses concédants. Tous droits réservés. Figures 1-1, 1-2, 2-1, 2-2, 2-5 à 2-9, 3-1, 3-2, 3-12 à 3-14, 4-1 à 4-15, 5-1 à 5-16, 6-1, 7-2 à 7-4, A-1, B-2, B-3, page de garde de l’annexe B : Francis Draillard. Page de garde du chapitre 2 : dessin d’Alice Draillard. Figures 5-9, 5-12 à 5-14, 7-2 et 7-4 : utilisation d’illustrations provenant du site http://www.wikipedia.fr Figure 3-3 : extraite du site http://www.wikipedia.fr, photo d’Éric Pouhier Décembre 2005. Page de garde du chapitre 7 et figure 7-1 : extraits du site de Dean Edwards, concepteur du projet IE 7 : http://dean.edwards.name/IE7.
P O C H E S A C C È S L I B R E - P R E M I E R S P A S A V E C CS S 2
Remerciements Je tiens à remercier Muriel Shan Sei Fan, éditrice informatique des Éditions Eyrolles. C’est grâce à elle que la publication de ce livre a été possible et ses conseils m’ont été précieux pour la rédaction finale. Merci aussi à Dimitri Robert : auteur d’un excellent livre sur le logiciel Gimp, dans cette même collection, il m’a aiguillé vers Muriel pour lui proposer mon manuscrit. Merci encore à Eliza Gapenne et Anne Bougnoux pour la relecture de ce livre, à Gaël Thomas et Jean-Marie Thomas pour sa mise en page. Je remercie beaucoup pour leur contribution : • Alain Beyrand (http://www.pressibus.org) : son classement des couleurs est très intéressant. Il est publié en annexe (mais en moins bien, car sans les couleurs !) • David Hammond (http://nanobox.chipx86.com) : il est l’auteur d’un excellent travail sur le comportement des différents navigateurs web, dont la synthèse est donnée en annexe. • Les auteurs du site http://www.w3.org, source extrêmement riche de renseignements qui explique dans tous leurs détails les normes du World Wide Web Consortium (W3C), ainsi que Jean-Jacques Solari, qui a traduit en français bon nombre de ces documents sur le site http://www.yoyodesign.org. Trois figures sont extraites de ce site, ainsi que les tableaux des propriétés CSS, qui se trouvent en annexe. Je suis reconnaissant également à mes étudiants de l’EIGSI et de Sup de Co La Rochelle. Qu’ils me pardonnent, je me suis servi de leurs erreurs et de leurs difficultés pour rendre ce livre plus clair et plus pédagogique. Enfin, c’est de tout mon cœur que je remercie mon épouse et ma fille, pour leur soutien et leur participation.
Francis Draillard [email protected] http://www.aeditia.fr
VIII
Table des matières AVANT-PROPOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V 1. INTRODUCTION AUX FEUILLES DE STYLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Signification de CSS 2 Principes de base pour une page web 2 Choix sensé des balises HTML 2 Adaptation aux navigateurs 3 Accessibilité 3 Apparence fonction du thème et du public concerné 4 Polices de caractères 4 En résumé, quelques sentiments liés aux couleurs 5 Homogénéité du site 5 Principes d’une bonne écriture XHTML/CSS : donner du sens au codage 5 Titre de page 6 Mise en gras ou en italique 6 Liste de liens hypertextes (menu) 6 Intérêt des feuilles de style 6
2. STRUCTURE DU XHTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Rappels sur l’écriture des balises XHTML 10 Normes existantes 10 Règles d’écriture des balises 10 Fermeture des balises 11 Principales balises XHTML 11 Structure et balises d’en-tête 11 Principales balises de texte 12 Autres balises de texte 12 Liens hypertextes 12
© Groupe Eyrolles, 2005
P OCHES AC CÈS LIBRE - PRE M IERS PAS AV EC CS S 2
Listes 13 Formulaires 13 Tableaux 14 Images et objets 14 Remarques 14 Déclarations de base d’une page web 15 Première ligne de chaque page web 15 Deuxième et dernière lignes de chaque page web 16 Quatrième ligne de chaque page web 16 Principaux types d’encodage 17 Autres balises d’en-tête 17 Validation du code HTML 18 Différents types d’éléments 19 Éléments en ligne 19 Éléments de type bloc 20 Hiérarchie des éléments 21 Appellation hiérarchique des blocs imbriqués ou juxtaposés 21 Exemple de code contenant des blocs imbriqués et juxtaposés 22 Termes hiérarchiques utilisés en XHTML-CSS 23 Héritage des propriétés de style 24
3. ÉCRITURE DES FEUILLES DE STYLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Définition d’une règle de style 28 Principe 28 Exemple de règle de style 28 Commentaires 29 Emplacement des styles 29 Feuille de style interne 30 Feuille de style externe 30 Styles en ligne 32 Sélecteurs de style 33 Comme au théâtre 33 Sélecteur simple 34 Classe 36 Une catégorie de balises 36 Une même classe pour plusieurs types de balises 36 Identifiant 38 Identifiant sans nom de balise 39 Différence entre classe et identifiant 40 Pseudo-classes 40 Pseudo-classes pour les liens hypertextes 41 Autres pseudo-classes 42
X
© Groupe Eyrolles, 2005
Table des matières
Pseudo-éléments 42 Règle associée à plusieurs sélecteurs 43 Regroupement de propriétés à l’aide de « raccourcis » 44 Hiérarchie des sélecteurs 44 Hiérarchie précise des sélecteurs 45 Imbrication directe 45 Juxtaposition 45 Sélecteur d’attribut [...] 45 Sélecteur universel * 46 Ordre de priorité des styles 47 Règle de style prioritaire 47 Degré de priorité d’une règle de style 49 Application 50 Valeurs, tailles et couleurs 51 Héritage de propriété 51 Unités de taille 51 Unités de taille fixes 51 Unités de taille relatives (conseillées) 51 Tailles définies par mots-clés 52 Codage des couleurs 52 Noms de couleurs 52 Code RVB 53 Couleurs « sûres » 53 Exemple de page avec feuille de style interne 54
4. PROPRIÉTÉS DE MISE EN FORME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 Mise en forme des caractères 60 Choix des polices 60 Taille de police 61 Couleur du texte 62 Texte en gras 63 Italique 64 Soulignement et autres « décorations » 64 Majuscules et minuscules 65 Petites majuscules 65 Surlignage de lettres 66 Décalage vers le haut ou le bas 66 Raccourci pour la mise en forme de caractères 67 Paragraphes et blocs de texte 68 Alignement horizontal du texte 68 Retrait de première ligne 69 Interligne minimum 70
© Groupe Eyrolles, 2005
XI
P OCHES AC CÈS LIBRE - PRE M IERS PAS AV EC CS S 2
Espacement entre les lettres 71 Espacement entre les mots 71 Conservation des espaces et sauts de ligne saisis 72 Modification du curseur de la souris 73 Affichage automatique d’un contenu 73 Guillemets à utiliser 74 Réinitialisation d’un compteur 75 Incrémentation d’un compteur 76 Sens de l’écriture 76 Écriture bidirectionnelle 77 Bordures 78 Style de bordure 78 Styles de bordure pour chaque côté 79 Épaisseur de bordure 80 Épaisseur de bordure pour chaque côté 80 Couleur de bordure 81 Couleur de bordure pour chaque côté 81 Raccourci pour toutes les propriétés de bordure 82 Raccourci des propriétés de bordure pour chaque côté 82 Contour superposé à un élément 83 Images et couleurs d’arrière-plan 83 Couleur d’arrière-plan 84 Image d’arrière-plan 84 Répétition ou non de l’image d’arrière-plan 85 Alignement de l’image d’arrière-plan 85 Fixation de l’image d’arrière-plan 87 Raccourcis pour les arrière-plans 87 Listes à puces ou numérotées 87 Type de puce ou de numérotation 88 Utilisation d’une image comme puce 88 Position de la puce 89 Raccourci pour toutes les propriétés de liste 90 Les tableaux 90 Largeur fixe ou variable des colonnes ou du tableau 91 Recouvrement des bordures 91 Espacement entre les bordures de cellules 92 Contour des cellules vides 93 Position du titre du tableau 94 Alignement sur la virgule 94 Alignement vertical des cellules 96
XII
© Groupe Eyrolles, 2005
Table des matières
5. POSITIONNEMENT DES BLOCS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .99 Marges et dimensions d’un bloc 100 Marges externes autour d’un bloc 100 Raccourci pour les marges externes 101 Marges internes d’un bloc 102 Raccourci pour les marges internes 102 Largeur fixe pour un bloc ou une image 103 Hauteur fixe pour un bloc ou une image 104 Largeur et hauteur totales d’un bloc 104 Problèmes de marges avec Internet Explorer 6 106 Largeur ou hauteur minimum 108 Largeur ou hauteur maximum 108 Position des éléments 109 Flux normal des éléments 109 Principe du positionnement de blocs 110 Types de positions possibles 110 Position normale 110 Position relative, absolue ou fixe 111 Position flottante 111 Utilisation des différents types de positionnement 113 Élément dans le flux (position normale) 113 Position relative 113 Position absolue 113 Position fixe 113 Élément flottant 113 Type de positionnement d’un bloc 114 Décalages indiquant la position d’un bloc 114 Niveau d’empilement des blocs 115 Transformation en bloc flottant 116 Pas d’éléments flottants sur le côté 116 Affichage ou non d’un élément 117 Affichage des débordements 117 Zone visible d’une boîte 118 Changement de type d’élément 119 Délimitation des blocs 120 Exemples de positionnement 120 Image du haut (nuages) 123 Image de l’arbre en position absolue 124 Sous-titre « en images » en position relative 125 Centrage horizontal du titre 125 Titre latéral fixé sur l’écran 126 Position absolue pour la galerie d’images 127
© Groupe Eyrolles, 2005
XIII
P OCHES AC CÈS LIBRE - PRE M IERS PAS AV EC CS S 2
Images côte à côte en position flottante 128 Centrage d’éléments à l’intérieur des blocs 129 Centrage horizontal 129 Centrage horizontal d’éléments en ligne 130 Centrage horizontal de blocs 130 Centrage vertical 130 Centrage vertical d’éléments en ligne 131 Centrage vertical de blocs 131 Exemple de centrage vertical 132
6. DIFFÉRENTS TYPES DE MÉDIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 Types de médias 136 Média paginé : styles pour l’impression 137 Gestion des veuves 138 Gestion des orphelines 139 Saut de page avant 139 Saut de page après 140 Coupure par un saut de page 140 Dimensions d’une page 140 Sélecteur de page 141 Référence à un type de page 142 Média sonore : fonctions audio 143
7. RÈGLES SPÉCIFIQUES À INTERNET EXPLORER 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 Règles destinées à un type de navigateur 148 Règles de style ignorées par Internet Explorer 148 Règles de style pour Internet Explorer seul 149 Propriétés pour Internet Explorer seul 149 Projet IE 7 150 Marges par défaut différentes 151 Largeur ou hauteur minimum 151 Position fixe 152 Technique de rattrapage de position 152 Stabilisation de l’affichage 153 Espace vertical sous une image 154 Transparence des images PNG 155 Affichage d’une image PNG transparente sur Internet Explorer 6 155 Affichage d’une image PNG transparente sur tous les navigateurs 156 Dimensions d’affichage modifiées 156
XIV
© Groupe Eyrolles, 2005
Table des matières
A. COULEURS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 Les 16 couleurs de base 160 Couleurs sûres 161 Liste de toutes les couleurs nommées 162
B. COMPORTEMENT DES PRINCIPAUX NAVIGATEURS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 Compréhension des balises HTML-XHTML 173 Interprétation des propriétés CSS 2.1 176 Unités 177 Paramètre !important 177 Médias 177 Sélecteurs 178 Pseudo-classes 178 Pseudo-éléments 179 Propriétés 179 Paramètres d’impression 183
C. RÉSUMÉ DES PROPRIÉTÉS CSS 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 Propriétés CSS 2 186 Propriétés d’affichage 187 Média paginé 202 Média sonore 203 Propriétés classées par catégories 206
D. RÉFÉRENCES BIBLIOGRAPHIQUES ET SITES WEB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 Bibliographie 212 Sites web utiles 212
INDEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
© Groupe Eyrolles, 2005
XV
chapitre
1
© Groupe Eyrolles, 2005
Introduction aux feuilles de style
Quels avantages nous apportent les feuilles de style ? Comment se partagent-elles le « travail » de mise en page avec le code HTML ?
Sommaire B B B B
Signification de CSS Principes de base pour une page web Principes d’une bonne écriture XHTML/CSS Intérêt des feuilles de style
© Groupe Eyrolles, 2005
P O C H E S A C C È S L I B R E - P R E M I E R S P A S A V E C CS S 2
Cette introduction nous emmène à la découverte des feuilles de style. Ce sera aussi l’occasion, à partir d’exemples, de poser les bases d’une bonne écriture des pages web.
Signification de CSS CSS signifie Cascading Style Sheets, ce qui se traduit en français par feuilles de style en cascade. Le terme « en cascade » indique qu’il est possible de faire appel à plusieurs feuilles de style. Lorsqu’un style existant est redéfini, c’est la dernière définition qui est prise en compte.
Principes de base pour une page web Voici les principales qualités demandées à une page web : qu’elle soit claire dans sa conception, accessible à tous et que son esthétique s’accorde bien avec son contenu.
Choix sensé des balises HTML En HTML, chaque élément doit être porteur de sens. Par exemple : • Pour un titre de page, utiliser (titre de niveau 1) plutôt que
(paragraphe quelconque). • Pour un menu (liste de liens), utiliser
et préférez-leur une structure de liste avec la balise
...
de façon à être ignorées par les navigateurs qui ne connaissent pas les CSS.