Cours Web 1
Cours Web 1
PROGRAMMATION WEB 1
TABLE DES MATIERES
Page 2
CHAPITRE III : LES LIENS, LES IMAGES ET LES TABLEAUX ......................................... 28
Page 3
1. Un style CSS spécifique en ligne ................................................................................................................... 61
2. Un style CSS interne dans la page HTML ...................................................................................................... 62
3. Un style CSS externe ..................................................................................................................................... 62
4. Attacher une feuille de style à un document HTML ..................................................................................... 62
5. La syntaxe de CSS ......................................................................................................................................... 63
Page 4
CHAPITRE I
INTRODUCTION AU HTML
Page 5
Chapitre I : Introduction au HTML
Introduction
Objectifs
Pré requis
• Utilisation d’Internet
Durée
• 1 semaine
Eléments de contenu
• Introduction
• HTML et CSS
• Exercices d’application
Page 6
I. Le HTML et le CSS
HTML ( HyperText Markup Language) est un langage de balisage Web utilisé pour créer des
pages Web qui peuvent être affichés dans un navigateur. HTML est utilisé le plus souvent
avec CSS (Cascading StyleSheet) pour présenter une page Web, ils fournies les outils avec
lesquels le contenu d'un document peut être structuré ou annotée avec différents types de
métadonnées et des indications de rendu et d' affichage. Ces indications peuvent varier de
petites décorations de texte, comme la couleur ou le soulignement d'un mot ou d' insérer
une image, à l'ajout d'éléments sophistiqués, des tableaux, des cartes d'image et des formes.
• HTML 1 : c'est la toute première version créée par Tim Berners-Lee en 1991.
• HTML 2 : la deuxième version du HTML apparaît en 1994 et prend fin en 1996 avec
l'apparition du HTML 3.0. C'est cette version qui posera en fait les bases des
versions suivantes du HTML. Les règles et le fonctionnement de cette version
sont donnés par le W3C (World Wide Web Consortium).
• CSS 1 : dès 1996, on dispose de la première version du CSS. Elle pose les bases de
ce langage qui permet de présenter une page web, comme les couleurs, les
marges, les polices de caractères, etc.
Page 7
• CSS 2 : apparue en 1999, cette nouvelle version de CSS rajoute de nombreuses
options. On peut désormais utiliser des techniques de positionnement très
précises, qui nous permettent d'afficher des éléments où on le souhaite sur la
page.
• Les balises orphelines : Ce sont des balises qui servent le plus souvent à insérer un
élément à un endroit précis (par exemple une image).. Une balise orpheline s'écrit
comme ceci : <img />
Les attributs viennent compléter les balises pour donner des informations supplémentaires.
L'attribut se place après le nom de la balise ouvrante et a le plus souvent une valeur,
comme ceci :
<balise attribut="valeur"> … </balise>
La balise <img/> seule, elle ne sert pas à grand chose. On pourrait rajouter un attribut
qui indique le nom de l'image à afficher : <img src="photo.jpg" />
Dans le cas d'une balise fonctionnant « par paire », on ne met les attributs que dans
la balise ouvrante et pas dans la balise fermante.
Page 8
<meta charset="utf-8" />
<title>Titre</title>
</head>
<body>
</body>
</html>
Les balises s'ouvrent et se ferment dans un ordre précis. Par exemple, la balise <html>
est la première que l'on ouvre et c'est aussi la dernière que l'on ferme (tout à la fin du
code, avec
</html>). Les balises doivent être fermées dans le sens inverse de leur ouverture.
Exemple :
1. Le doctype
<!DOCTYPE html>
La toute première ligne s'appelle le doctype. Elle indique qu'il s'agit bien d'une page
web HTML. Ce n'est pas vraiment une balise comme les autres : c'est l'exception qui
confirme la règle.
2. La balise <html>
C'est la balise principale du code. Elle englobe tout le contenu de votre page et la balise
fermante </html>se trouve tout à la fin du code.
Page 9
sont des informations générales à destination de navigateur. Elles sont cependant
très importantes pour le référencement de la page.
4. L'encodage (charset)
<meta charset="utf-8" />
Cette balise indique l'encodage utilisé dans le fichier .html qui détermine comment les
caractères spéciaux vont s'afficher (accents, idéogrammes chinois et japonais, caractères
arabes, etc.).
Cette méthode d'encodage UTF-8 permet d'afficher sans aucun problème pratiquement
tous les symboles de toutes les langues.
Le titre s'affiche en haut de la page (souvent dans l'onglet du navigateur) ainsi que
dans les résultats des moteurs de recherche (mais pas dans le document).
6. Les commentaires
Un commentaire en HTML est un texte qui sert laisser des indications sur le
fonctionnement de la page. Il n'est pas affiché, il n'est pas lu par le navigateur.
Page 10
7. Les balises <meta>
Afin d’améliorer le référencement du site web, on place les balises <meta> dont les plus
utilisées sont les suivantes :
• Content-Type : Indique la nature du document et le jeux de caractères utilisés.
• TITLE : Indique le nom de votre page web.
• DESCRIPTION : Contient la description de la page. Elle est affiché dans les recherches
Google et dissimulé dans le site.
• KEYWORDS : contient tous les mots-clés de la page séparés d’une virgule.
• ROBOTS : sert à « communiquer » avec les robots des moteurs de recherches qui
parcourent le web et enregistrent les pages web des sites. Ils vont de site en site en
suivant les liens.
Exemple :
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="title" content="Titre de la page" />
<meta name="description" content="description de la page"
<meta name="keywords" content="mots-clé1, mots-clé2, ..."
<meta name="robots" content="index,follow" />
<head>
Page 11
Exercices d’application
Question 1
Pourquoi distinguer la structure et l'apparence?
Question 2
Choisir une réponse
• Balises
• Attributs
• Commentaires
Question 3
Quelles sont les différentes parties d’un code HTML ?
Question 4
Réécrire une balise Meta correspondante au chapitre II : la mise en forme de texte
Page 12
CHAPITRE II
Page 13
Chapitre II : La mise en forme du texte
Introduction
Ce chapitre aborde la notion de mise en forme du texte dans une page web. Il présente les
types de formatage et les balises qui leurs sont associées.
Objectifs
Pré requis
Durée
• 2 semaines
Eléments de contenu
• Introduction
• La mise en forme du texte
• Les titres et les paragraphes
• Les listes en HTML
• Exercices d’application
Page 14
I. HTML et mise en forme des textes
Avec HTML, on utilisait l'attribut de la balise <font> pour marquer un texte important. Mais
cela était limité au niveau de la forme.
Maintenant, avec HTML, nous insistons surtout sur la valeur du contenu. Ainsi, on a d'autres
balises pour mettre des textes en exergue. Pour cela Il y a 2 balises différentes que l'on
utilise selon le degré d'importance du texte.
1. La balise <em>
La balise em (emphase) permet de mettre en emphase du texte. Il s'agit de marquer qu'un
passage dans le texte est important.
Code HTML :
Il serait <em> avantageux </em> de savoir coder en HTML avant de faire du CSS.
Aperçu :
2. La balise <strong>
Cette balise est pareille que la balise em sauf qu'elle met un accent assez fort. Elle permet
d'interpeler vivement le lecteur.
Exemple d'utilisation :
Page 15
Code HTML :
Il est <strong> indispensable </strong> de savoir coder en HTML avant de faire du CSS.
Code HTML :
Extrait du livre : <cite> Les Fleurs du Mal </cite> de <cite> Charles Baudelaire </cite>
Page 16
Exemple d'utilisation :
Code HTML :
Comme le disait <cite> Rabelais</cite> : <q> Science sans conscience n'est que ruine de
l'âme </q>
a. La balise : <acronym>
La balise acronym sert à mettre un acronyme. Son utilisation n'a vraiment de sens que si l'on
indique sa signification à l'aide de son attribut title.
Exemple d'utilisation :
Page 17
Code HTML :
On remarque que les mots entre acronym sont légèrement soulignés. Dès qu’on passe la
souris sur les acronymes, leur signification apparaît automatiquement.
b. La balise : <abbr>
Cette balise est utilisée pour indiquer que le texte en question est une abréviation. De même
que pour les acronymes, on indique la signification de l'abréviation en question dans
l'attribut title. Lorsqu’on pointe la souris sur les mots, leur signification apparaît
automatiquement.
Exemple d'utilisation :
Les clts et les frns se sont mis d'accord.
Code HTML :
a. La balise : <sub>
La balise sub est utilisée pour mettre un texte en indice.
Exemple d'utilisation :
Page 18
Code HTML :
Une suite géométrique de raison q est une suite de cette forme : U <sub> n </sub> = q *
U<sub>0</sub>
b. La balise : <sup>
Cette balise permet de mettre un texte en exposant.
Exemple d'utilisation :
Code HTML :
Le contenu de cette balise s'affiche tout en haut de la page, sur le navigateur. Mais les titres
en HTML peuvent aussi servir pour avoir une fonctionnalité similaire aux tables de matière
dans les logiciels de traitement de texte.
Si on veut structurer les titres en plusieurs niveaux. Pour ce faire, on peut spécifier six
niveaux de titres, en numérotant la balise <h>. On a <h1><h2> jusqu'à <h6>. h1 permet donc
de spécifier le grand titre, h2 le sous titre en bas de h1, et ainsi de suite.
Page 19
Exemple sur les titres :
Code HTML :
<h1>1.XHTML</h1>
<h2>1.1-Les titres</h2>
<h3>1.1.2-Intérêt des titres</h3>
<h3>1.1.3-Entête à plusieurs niveaux</h3>
<h3>1.1.4-Les erreurs à éviter</h3>
<h2>1.2-Les paragraphes</h2>
<h2>1.3-Mettre en valeur des textes</h2>
<h2>....</h2>
<h1>2.CSS</h1>
7. Insérer un paragraphe
On a appris à titrer les textes. Ceci étant acquis on veut cette fois-ci diviser les contenus en
paragraphes. Le HTML et sa richesse sémantique nous permettent encore de spécifier tout
cela grâce à de la balise <p>
Page 20
Code HTML :
<body>
<p>
L'ère de la nouvelle technologie implique le fait que le web ne se limite plus à l'interconnexion
entre ordinateurs. La toile d'araignée mondiale s'apprête à accueillir de nouvelles
applications et des nouveaux appareils (téléphone mobile, console de jeux...)
</p>
</body>
Aperçu :
<body>
<p>
…..</p>
<p>….</p>
<p>
…..
</p>
</body>
Page 21
9. Saut de ligne dans un paragraphe
Si on veut juste sauter une ligne dans un paragraphe, sans pour autant changer de
paragraphe, on utilise la balise <br />
Code HTML :
<body>
<p>
Le HTML qui s'avère figé ne pourra pas répondre aux exigences des applications web futures.
Il faut alors un langage plus souple et mieux adapté. XHTML, qui suit la syntaxe XML est
justement conçu pour cela.
<br/> Le but est de reformuler HTML 4 pour le rendre compatible avec XML. En quelque sorte,
XHTML eXtensible HyperText Markup Language est un langage hybride entre le XML et le
HTML.
</p>
</body>
Aperçu :
<body>
<p>
L'ère de la nouvelle technologie implique le fait que le web ne se limite plus à l'interconnexion
Page 22
entre ordinateurs. La toile d'araignée mondiale s'apprête à accueillir de nouvelles
applications et des nouveaux appareils (téléphone mobile, console de jeux...) Le HTML qui
s'avère figé ne pourra pas répondre aux exigences des applications web futures. </p>
<hr />
<p>
Il faut alors un language plus souple et mieux adapté. XHTML, qui suit la syntaxe XML est
justement conçu pour cela. Le but est de reformuler HTML 4 pour le rendre compatible avec
XML. En quelque sorte, XHTML eXtensible HyperText Markup Language est un langage
hybride entre le XML et le HTML.
</p>
</body>
Aperçu
Page 23
1. Les listes non ordonnées
Il s'agit juste d'énumérer des données sous forme de listes à puces. Afin de définir une liste
non ordonnée, on utilise la balise <ul></ul> . Il nous faut encore distinguer chaque élément
de la liste à l'aide de la balise <li>< /li>. C'est-à-dire qu'il faut définir où est le début et la fin
de chacun des items contenus dans la liste. D'où le nom de la balise li qui veut dire List Item.
Code HTML :
<ul>
<li>Jus d'orange</li>
<li>Coca</li>
<li>Café</li>
</ul>
Aperçu :
2. Listes ordonnées
On peut faire des listes numérotées de la même manière que les listes non ordonnées. Sauf
qu'ici, on cherche à classer les données de la liste suivant un ordre bien défini à l'aide des
numéros. Cette fois-ci, on utilise la balise <ol> : Ordored List à la place de la balise <ul>. Pour
délimiter les items, on utilise toujours la balise< li>.
Code HTML :
<ol>
<li>Classe TI1.1</li>
<li> Classe TI1.2</li>
<li> Classe TI1.3</li>
</ol>
Page 24
Aperçu :
Code HTML :
<dl>
<dt>Ingrédients :</dt>
<dd>
<ul>
<li>8 jaunes d'oeuf </li>
<li>200g de sucre blanc</li>
<li>1l de lait</li>
<li>Parfum et colorant</li>
</ul>
</dd>
Page 25
Aperçu :
On peut mettre plusieurs dd pour un seul dt, et inversement. En effet, toutes les
combinaisons sont réalisables.
Exercices d’application
Exercice 1 :
Ecrire un code html qui permet de réaliser la page Web simple illustrée par la figure ci-
dessous :
Page 26
Exercice 2 :
Créer un document HTML contenant des listes numérotées et des listes à puce comme
illustré ci dessous.
Page 27
CHAPITRE III
Page 28
Chapitre III: Les liens, les Images et les Tableaux
Introduction
Ce chapitre s’articule autour de trois parties : les liens, les images et les tableaux. Il présente
pour chaque thème la syntaxe et les attributs correspondants
Objectifs
Pré requis
Durée
• 3 semaines
Eléments de contenu
• Introduction
• Les liens
• Les images
• Les tableaux
• Exercices d’application
Page 29
I. Les liens en HTML
Le lien constitue une liaison entre une page et une autre. Un visiteur de la page peut se
rendre sur une autre page ou un autre emplacement de la même page à l'aide d'un lien.
Il s'agit de la balise <a> </a>.
Dans son attribut href, on spécifie la cible, c'est-à-dire l'adresse de la page ou de la ressource
vers laquelle sera dirigé le visiteur après son clic sur le lien.
On identifie la cible par une URL "Uniform Resource Locator" qui est le chemin du document
vers lequel le lien sera renvoyé.
Aperçu :
Code HTML :
Page 30
1. Les liens absolus
On utilise ce type de lien lorsque le lien pointe vers un autre site. L'adresse du lien
commence souvent par "http://" ou "ftp://", suivi de l'adresse du site cible. Autrement dit,
dans un lien absolu, on précise entièrement le chemin.
<a href="http://www.domaine.com/html.php">page html</a>
www\dossier1\fichier1.html www\dossier1\fichier2.html
Dans ce cas, si fichier 2 est la cible, on met comme adresse de lien dans fichier1
fichier2.html
dossier2/fichier2.html
www\fichier2.html www\dossier1\fichier1.html
../fichier2.html
Page 31
l'ancre qui nous servira de référence. L'ajout de l'attribut id à une balise nous permet de
créer une ancre qui servira de repère.
Par exemple :
Comme d'habitude, on utilise la balise <a> avec son attribut href, mais en mettant cette fois-
ci le signe dièse (#) suivi du nom de l'ancre comme valeur de l'attribut. Ce signe dièse sert à
marquer qu'il s'agit d'une ancre.
4. Lien vers une ancre qui se trouve dans une autre page
Si on cherche à faire un lien qui permet d'ouvrir à la fois une nouvelle page et qui nous
amène directement à une ancre sur cette page. Pour cela, il faut mettre après le nom de la
page, le dièse et le nom de l'ancre. Par exemple :
<p>
Rendez-vous quelque part sur une autre page :<br/>
<a href="page.html# section1">Sport</a><br/>
<a href="page.html# section2">Voyages</a><br/>
<a href="page.html# section3">Cinéma</a><br/>
</p>
<p>
</p>
Page 32
Le site s'affichera dans une nouvelle fenêtre.
Comme nous venons de voir, on a rajouté l'attribut title et on lui a donné comme valeur le
texte de l'info-bulle.
7. Envoyer un mail
Un clic sur un lien peut aussi nous ouvrir notre client mail par défaut (Outook par exemple).
L'ouverture immédiate d'Outlook pourra faciliter la tâche du visiteur quand il veut nous
envoyer un mail.
<a href="mailto:[email protected]">Contactez-moi</a>
Page 33
9. Lien pour télécharger un fichier au format zip
Il s’agit toujours d’un lien avec l’attribut href mais cette fois ci ajouter le nom du fichier à
télécharger et placer simplement ce fichier dans le même dossier que la page web.
Exemple :
La balise img peut avoir plusieurs attributs mais deux d'entre eux sont obligatoires :
▪ src : Cet attribut indique l'emplacement de l'image que l'on veut insérer. On peut
indiquer un chemin relatif ou absolu selon le lieu où se trouve l'image. Exemple :
<img src="images/fleurs.png"/>
▪ alt : Il arrive que l'image ne puisse pas s'afficher. Dans l’attribut alt on met le texte à
afficher si on est confronté à cette situation.
1. Formats de l'image
La qualité et le poids de l'image peuvent varier selon le format sous lequel on enregistre
l'image. On reconnaît généralement le format d'une image par son extension. Parmi les
formats d'images standard que l'on utilise sur les web, on distingue notamment :
▪ JPEG (Joint Photographic Expert Group) : Les images au format JPEG sont très répandues
sur le Web. Ce format est conçu pour réduire le poids des photos qui peuvent comporter
plus de 16 millions de couleurs différentes. Les images JPEG sont enregistrées avec
l'extension .jpg ou .jpeg.
▪ GIF (Graphics Interchange Format) : C'est un format assez vieux qui a été très utilisé. Il se
base sur un principe d'indexation. Il permet de stocker 256 couleurs au max. Ce nombre
Page 34
de couleurs maximal est trop faible. Son avantage est qu'il permet d'avoir des images
animées.
▪ PNG (Portable Network Graphics): Est un format très récent. L'avantage du PNG est qu'il
gère facilement la transparence. Le PNG existe en deux versions, en fonction du nombre
de couleurs que doit comporter l'image : PNG 8 bits : 256 couleurs et PNG 24 bits : 16
millions de couleurs.
<p>
</p>
▪ La balise <tr> : Après avoir spécifié la balise table, on définit la structure du tableau.
C'est-à-dire qu'il faut savoir comment seront structurées les lignes et les cellules du
tableau. Les balises < tr></tr> permettent de définir une ligne.
Page 35
▪ La balise <td> : En termes de balise, les cellules sont emboîtées dans les lignes. Un bloc
de balise < tr></tr> contient un ou plusieurs blocs de balise <td></td>.Ces derniers
correspondent à des cellules.
▪ La balise <th> : Permet d'organiser le contenu du tableau. Son usage devient très
courant surtout qu'elle permet d'appliquer facilement les styles CSS aux tableaux. On
l'utilise juste après la balise table.
Aperçu :
Code HTML :
<table>
<tr>
<th>titre cellule1</th>
<th> titre cellule2</th>
</tr>
<tr>
<td>ligne1 cellule1</td>
<td> ligne1 cellule2</td>
</tr>
<tr>
<td>ligne2 cellule1</td>
<td> ligne2 cellule2</td>
</tr>
</table>
Page 36
Aperçu :
Code HTML :
<table border="1">
<tr>
<th>titre cellule1</th>
<th> titre cellule2</th>
</tr>
<tr>
<td colspan="2">ligne 1 cellule 1 et cellule2 fusionnées</td>
</tr>
<tr>
<td>ligne2 cellule1</td>
<td> ligne2 cellule2</td>
</tr>
</table>
Page 37
Code HTML :
<table border="1">
<tr>
<th>titre cellule1</th>
<th> titre cellule2</th>
</tr>
<tr>
<td rowspan="2">cellule1 ligne1 et 2 fusionnées </td>
<td> ligne1 cellule2</td>
</tr>
<tr>
<td> ligne2 cellule2</td>
</tr>
</table>
3. Un tableau compartimenté
Compartimenter un tableau consiste à le diviser en trois parties bien distinctes. Lorsque le
tableau est très grand, il est intéressant de le découper en compartiments. Trois zones
différentes du tableau sont définies chacune par la balise associée :
Page 38
Aperçu :
• border ="N" : définit la largeur des bordures externes et internes qui délimitent le
tableau et les cellules. Sa valeur s’exprime en pixels et la valeur 0 est admise pour
cacher ses bordures.
Page 39
• cellspacing="N px | N%" : définit l’espacement entre les bordures de chaque cellule.
Pour que cet attribut soit pris en compte, il faut que l’attribut border ait été défini
avec une valeur non nulle.
• rules : il définit l’affichage des bordures internes du tableau, situées entre les cellules.
Il prend les valeurs suivantes :
Page 40
Exercices d’application
Exercice 1
créer une page composée de 3 chapitres précéder de 3 liens internes chaque lien envoie
vers un chapitre précis , pour simplifier on va considérer que chaque chapitre et composé
d'un titre et d'un paragraphe.
Page 41
Exercice 2
Reproduisez une page HTML contenant un tableau et qui présente la structure ci-dessous :
Exercice 3
Reconstituer le tableau suivant :
Page 42
Exercice 4
Insérer une image avec les dimensions 240*260 et un message d’info bulle « logo HTML5 ».
Si l’image n’apparaît pas, le texte suivant s’affiche : « image du Logo de HTML5»
Page 43
CHAPITRE IV
LES FORMULAIRES
Page 44
Chapitre IV : Les formulaires
Introduction
Ce chapitre définit en premier lieu les formulaires en HTML, Puis il s’intéresse aux balises
qui constituent le corps des ces formulaires.
Objectifs
Pré requis
• Les tableaux
Durée
2 semaines
Eléments de contenu
• Introduction
• La balise <form>
• Exercices d’application
Page 45
I. Les formulaires en HTML
La balise HTML utilisée pour la création d'un formulaire est la balise <form>< /form>. Elle
peut avoir plusieurs attributs, comme un nom par exemple qui est signalé par le mot clé
name. Mais deux attributs très importants dans le formulaire sont l'attribut method et
l’attribut action.
• method : Comme son nom l'indique, l'attribut method détermine la méthode d’envoi
du formulaire. Elle peut prendre deux valeurs possibles :
o get : La méthode get correspond à l'envoi de données par URL. C'est-à-dire que
les données saisies par l'utilisateur dans le formulaire sont renvoyées dans l'URL.
Toutefois, elle est limitée à 255 caractères.
o post : Avec la méthode post, il n'y a pas de limite ce qui fait que l'on peut envoyer
la quantité de données qu'on souhaite et d’une façon implicite.
Exemple :
</form>
Page 46
est surtout lorsque nous allons envoyer les données saisies en PHP, c'est le nom qui permet
de récupérer cette valeur. Pour faire une zone de texte à une ligne, on utilise la balise input
et on lui met comme type le texte comme suit : important d'indiquer son nom.
Aperçu :
Code HTML:
Code HTML :
Page 47
c. Zone de mot de passe :
Si la zone de texte se comporte comme une zone "mot de passe", c'est-à-dire une zone où
on ne voit pas à l'écran ce qui est tapé dedans, mettre type="password" dans <input />.
Aperçu :
Code HTML :
Aperçu :
Code HTML :
Page 48
2. Les zones de texte multi ligne
Pour faire une saisie en plusieurs lignes, on utilise la balise <textarea>. Il faut lui donner un
nom avec name, et utiliser un label qui explique de quoi il s'agit.Elle dispose de deux autres
attributs :
▪ cols : qui indique le nombre de caractères pouvant être placés sur une ligne dans
afficher l'ascenseur horizontal.
▪ rows : qui indique le nombre de lignes pouvant être placées dans la textarea sans
afficher l'ascenseur vertical.
Aperçu :
Votre pseudo :
Vos commentaires :
Code HTML :
Notez bien que contrairement à input, la balise textarea nécessite une balise fermante.
Page 49
a. Les listes déroulantes :
La balise <select> délimite la liste déroulante. Plusieurs choix sont proposés et c'est la balise
<option> qui introduit ce choix.
Aperçu :
Madame
Code HTML :
Aperçu :
Quels sont vos centres d'intérêts ?
Code HTML :
Page 50
<input type="checkbox" name="interet" id="informatique" />
<label for="informatique">informatique</label>
<input type="checkbox" name="interet" id="cuisine" />
<label for="cuisine">cuisine</label>
</p>
oui non
Code HTML :
<p>
Vous voulez vous abonner ?<br />
<input type="radio" name="question" value="oui" id="oui" /> <label for="oui">oui</label>
<input type="radio" name="question" value="non" id="non" /> <label for="non">non</label>
</p>
Il est important de noter que les boutons radios doivent avoir le même nom pour pouvoir
"communiquer" ensemble, c'est à dire que si le visiteur sélectionne "Oui", l'option "Non"
sera désélectionnée.
4. Les boutons
a. Le bouton d'envoi :
Dans un formulaire, il doit toujours y avoir un bouton. Le bouton sert à soumettre le
formulaire une fois que les données sont saisies. Dans ce cas, il confirme l'envoi des données
et c'est un bouton de type submit comme celui-ci par exemple qui sera utilisé :
Aperçu :
Valider
Code HTML :
Page 51
b. Le bouton de remise à zéro :
Un autre bouton qui est de type reset sert à vider les champs, afin de les réinitialiser :
Aperçu :
Vider
Code HTML :
Si l'utilisateur décide d'annuler et/ou de réinitialiser ce qu'il a saisi, il peut cliquer sur ce
bouton.
c. Le bouton qui-sert-à-rien :
c'est un bouton "générique" qui n'effectue aucune action particulière. Le formulaire n'est
pas envoyé, il n'est pas remis à zéro, rien ne se passe. Ce bouton servira principalement à
lancer des scripts en JavaScript.
Aperçu :
Cliquer
Code HTML :
<input type="button" value=”cliquer” />
a. E-mail :
Nous pouvons demander à saisir une adresse e-mail :
Le champ semblera a priori identique mais le navigateur sait désormais que l'utilisateur doit
saisir une adresse e-mail. Il peut afficher une indication si l'adresse n'est pas un e-mail.
Page 52
b. Une URL :
Avec le type url, on peut demander à saisir une adresse absolue (commençant généralement
par http://) :
Même principe : si le champ ne vous semble pas différent sur votre ordinateur, sachez que
celui-ci comprend bel et bien que le visiteur est censé saisir une adresse. Les navigateurs
mobiles affichent par exemple un clavier adapté à la saisie d'URL
c. Numéro de téléphone :
Ce champ est dédié à la saisie de numéros de téléphone :
Sur iPhone, par exemple, un clavier adapté s'affiche lorsqu'on doit remplir le champ.
d. Nombre :
Ce champ permet de saisir un nombre entier :
Le champ s'affichera en général avec des petites flèches pour changer la valeur. Nous
pouvons personnaliser le fonctionnement du champ avec les attributs suivants :
Page 53
• step : c'est le « pas » de déplacement. Si vous indiquez un pas de 2, le champ
n'acceptera que des valeurs de 2 en 2 (par exemple 0, 2, 4, 6…).
e. Un curseur :
Le type range permet de sélectionner un nombre avec un curseur (aussi appelé slider).
Nous pouvons utiliser là aussi les attributs min, max et step pour restreindre les valeurs
disponibles.
f. Couleur :
Ce champ permet de saisir une couleur :
En pratique, il reste assez peu mis en œuvre par les navigateurs à l'heure actuelle. Ne vous
étonnez pas si vous voyez seulement un champ de texte classique.
g. Date :
Différents types de champs de sélection de date existent :
Page 54
Exemple :
h. Recherche :
On peut créer un champ de recherche comme ceci :
Le navigateur décide ensuite comment afficher le champ de recherche. Ainsi, il peut ajouter
une petite loupe au champ pour signifier que c'est un champ de recherche et éventuellement
mémoriser les dernières recherches effectuées par le visiteur.
Actuellement, il existe 3 formats vidéo pris en charge pour l'élément <video>: MP4, WebM
et Ogg:
• controls : Si cet attribut booléen est présent, le navigateur affiche ses propres
contrôles vidéo pour la lecture et le volume. Si non présent la première image est
affichée
Page 55
• poster : permet de spécifier une image que le navigateur utilisera alors que la vidéo
est en cours de téléchargement, ou jusqu'à ce que l'utilisateur commence la lecture
de la vidéo. Si cet attribut n'est pas spécifié, la première image de la vidéo sera
utilisée à la place
b. Exemple :
<video width="320" height="240" controls>
</video>
2. Insertion d’audio
La balise <audio> définit le son, comme la musique ou d'autres flux audio. Il existe 3 formats
de fichiers pris en charge pour l'élément <audio>et qui sont MP3, Wav et Ogg.
a. Attributs :
• Controls : Affiche les barres de navigation dans la vidéo avec entre autres une barre
temporelle et un bouton lecture/pause. Pour chaque navigateur, Les boutons
disponibles ainsi que leur aspect peuvent différer.
• Muted : assurera que la vidéo, en particulier en autoplay, sera lancée sans le son,
silencieusement. Il appartiendra alors au visiteur d'activer le son s'il le désire.
Page 56
b. Exemple :
<audio controls>
</audio>
Page 57
Exercice d’application
Exercice :
• Un champ destiné au transfert de fichier photo dont le format est restreint aux types
JPEG ou PNG.
Page 58
CHAPITRE V
Page 59
Chapitre V: LES FEUILLES DE STYLES
Introduction
Ce chapitre définit en premier lieu les concepts et les utilités des feuilles de style, Puis il
s’intéresse à la manipulation de CSS.
Objectifs
Pré requis
Durée
• 4 semaines
Eléments de contenu
• Concepts et utilités
• Exercices d’application
Page 60
Le CSS ou « Cascading Style Sheets » est un langage utilisé pour décrire la présentation d'un
document HTML.
Le CSS améliore la présentation et la mise en page en décrivant les couleurs, la police, les
couleurs et images de fond, le remplissage, les marges, les bordures ...
Le langage CSS n'est autre que des feuilles de style en cascade, il décrit la forme et non le
fond de la page et propose de nombreux avantages tels que :
Code CSS :
L'utilisation de cette méthode revient au même que celle de faire les fonts et présente les
mêmes inconvénients. Elle ne semble intéressante que lorsque le style que vous aller définir
est vraiment spécifique à cet endroit. Autrement dit, au cas où on pense réutiliser le même
style à un autre endroit, il vaut mieux utiliser les méthodes suivantes.
Page 61
2. Un style CSS interne dans la page HTML
Cette deuxième méthode consiste à mettre le style dans l'entête de la page. La syntaxe est
incorporée à l'entête du fichier HTML entre les balises <style>
<head>
<style>
p{
font-size: 15pt ;
}
</style>
</head>
Le style ainsi défini peut-être appliqué à tous les endroits de la page, sans avoir à redéfinir
les propriétés. Néanmoins, cela nécessite d'inclure le code du style à l'entête de chaque
fichier, et de le répéter pour tous les fichiers. Donc ce n'est pas encore optimal.
▪ Les définitions de style ne sont faites qu'une seule fois, à un seul endroit.
▪ Cela réduit considérablement la taille des pages HTML.
▪ Cela facilite la maintenance en manipulant un seul fichier pour modifier un tel ou tel
aspect de notre site.
▪ Cela donne une meilleure structuration des pages puisque que le contenu lui-même est
séparé de la forme.
Page 62
Code CSS :
menu{
font-size :12px ;
font-weight :bold ;
}
Dans l'entête de chaque page HTML, il y a juste à rajouter une ligne pour inclure le fichier
style.css :
Code HTML:
<head>
<link href="style.css" rel="stylesheet" type="text/css" media="all">
</head>
Il faut spécifier dans href le fichier à inclure. L'attribut média permet de spécifier le type de
média auquel le style sera appliqué.
Il est possible d'incorporer plusieurs lignes de style, comme ceci (principe des 'cascades') :
Code CSS:
<head>
<link href="style-1.css" rel="stylesheet" type="text/css" media="all">
<link href="style-2.css" rel="stylesheet" type="text/css" media="print">
</head>
5. La syntaxe de CSS
Une feuille de style contient la définition de différentes règles CSS. C'est en appliquant ces
règles qu'on peut mettre en forme les éléments, ou plus concrètement leur donner du style.
Une règle CSS est divisée en 2 parties :
▪ le sélecteur
▪ le bloc de déclaration
C'est le sélecteur qui détermine ou identifie les parties du document auxquelles sera
appliqué le style. Il sert à sélectionner l'élément que l'on a envie de mettre en forme. Le bloc
de déclaration, quant à lui, contient les déclarations des styles à appliquer. Il est toujours mis
entre deux accolades :
Page 63
Code CSS :
body
{
color : red;
}
Ici, body est le sélecteur alors que le bloc de déclaration est la zone délimitée par les
accolades. Autrement dit, les styles définis entre accolades seront appliqués à la balise body.
Body{
color:red ;
font-family: "Times new roman";
}
Page 64
p{
color : green
}
p.vert{
color:green
}
p.rouge {
color : red
}
Pour appliquer ces styles aux documents HTML, il suffit de mettre le nom de la classe
comme valeur de l'attribut class.
Code HTML :
<p class="vert">
Ce paragraphe est de couleur verte.
</p>
<p class="rouge">
Ce paragraphe est de couleur rouge.
</p>
Nous pouvons aussi omettre le nom de la balise (‘p’) dans le sélecteur pour définir par
exemple un style qui sera utilisé par d'autres balises HTML. Dans l'exemple suivant, tout
élément ayant comme classe .vert sera coloré en vert.
Code CSS:
.vert{
color: green
}
Page 65
Code HTML :
L'intérêt d'utiliser les classes c'est de pouvoir regrouper des propriétés de style dans une
classe et d'appliquer ces styles à différents éléments, et en différents endroits.
f. Les id en CSS :
Contrairement aux classes, un id s'applique à un objet unique. Autrement dit, si un
élément HTML possède déjà un id, cet id ne peut plus être utilisé pour un autre
élément HTML.
Alors qu'il est tout à fait possible que deux éléments utilisent la même classe, bien au
contraire. La définition d'un ID en CSS est identique à celle d'une classe, excepté le dièse qui
précède le sélecteur :
#test-id {
color : green ;
}
Comme pour la classe, pour appliquer le style à une balise div, on spécifie le nom de l'id
comme valeur de l'attribut id :
h1,h2{
color: green
}
Page 66
On peut même grouper des sélecteurs de types différents. C'est-à-dire qu'il est possible de
définir un style à plusieurs éléments, classes, identifiants. Il suffit de lister les éléments en les
séparant par une virgule.
Code CSS :
Ainsi, Ies éléments h1, les classes uneclasse et l'identifiant idspecial auront les mêmes
styles : colorés en rouge et mis en gras.
Code HTML :
Un élément HTML peut avoir plusieurs classes. On peut ainsi combiner les styles comme on
veut. Pour appliquer plusieurs classes à un élément, la syntaxe est presque la même que
celle définie ci-dessus. Il suffit de mettre comme valeur de l'attribut class la liste des noms
des classes séparés par un espace.
Code CSS :
.vert {
color:green;
}
.centre{
text-align : center;
}
.gras {
font-weight:bold;
}
.fondjaune {
background-color:yellow;
}
Page 67
Code HTML :
Aperçu :
p{
color:red;
font-weight:bold;
}
.pspecial {
color:green;
}
Au niveau du code HTML, voyons ce qui se passe si on utilise la classe .pspecial dans une
balise p particulier.
Code HTML:
Page 68
Remarquons que tous les paragraphes sont colorés en rouge sauf un. Il s'agit du paragraphe
où l'on a appliqué le style .pspecial. Par contre, le paragraphe en question a gardé la mise en
gras. Les propriétés des deux sélecteurs (p et .pspecial) se combinent donc entre elles.
S'il y a des propriétés communes (color par exemple), c'est la valeur définie dans la classe
(color:green) qui sera considérée. En d'autres termes, les classes (.pspecial) sont prioritaires
par rapport aux styles standards définis à l'aide des sélecteurs de type (p)
Définissons maintenant deux types de styles, un à l'aide d'un id et un autre en utilisant une
classe.
Code CSS :
#unid {
color:blue;
}
.uneclasse
{
color:red;
font-weight:bold;
}
Code HTML :
Le paragraphe s'affiche en bleu puisque c'est le style de l'id qui est prioritaire sur la classe.
1. Choix de la police
Parmi une multitude de polices de caractères, on distingue par exemple les times new
roman, arial, etc. Dans ce cas, il ne reste qu'à choisir les polices selon notre préférence.
Ensuite, nous spécifierons le choix dans la feuille de style en utilisant la propriété
font-familly comme suit :
Page 69
Code CSS :
p{
font-family: verdana ;
}
En effet, Il se peut que la police que nous avons spécifiée n'existe pas sur le système du
visiteur. Nous avons donc la possibilité de lui proposer d'autres choix alternatifs.
Code CSS :
p{
font-family: Verdana, Calibri, “Times new roman”;
}
2. Style de la police
Comme son nom l'indique, la propriété font-style permet de définir le style de la police.
Grâce à cette propriété, on peut avoir des polices en italique ou normale.
Code CSS :
.normale {
font-style:normal
}
.italique {
font-style:italic
}
Code HTML :
Page 70
3. Mettre en gras en CSS
La mise en gras en CSS permet de mettre du poids sur les polices. D'où le nom de la
propriété CSS font-weight. Cette propriété définit l'épaisseur de la police. On l'utilise
souvent dans les titres, dans les paragraphes, etc. Elle peut prendre la valeur bold pour gras
ou normal pour le normal (pas gras)
Code CSS:
.normale {
font-weight:normal;
}
.bold {
font-weight:bold;
}
Code HTML :
▪ smaller
▪ medium
▪ larger
Lorsque l'on spécifie ainsi la taille, la valeur de base est alors le navigateur de l'internaute.
Page 71
Code HTML :
<div>
<span style="font-size:smaller ;">Police small </span><br>
<span style="font-size: medium ;">Police medium</span><br>
<span style="font-size: larger ;"> Police large</span><br>
</div>
Aperçu:
p.taille150{font-size: 150%}
p.taille130 {font-size: 130%}
p.taille100{font-size: 100%}
Code HTML :
Page 72
On peut aussi spécifier la taille de police de façon absolue mais en utilisant des valeurs
numériques exactes. Autrement dit, la taille spécifiée est indépendante de la table des tailles
de police du visiteur.
Code CSS :
p.taille12pt{font-size: 12pt;}
p.taille50px {font-size: 50px;}
p.taille2mm{font-size: 2mm;}
Code HTML :
Aperçu :
Page 73
Code CSS :
p.normale {
font-variant: normal;
}
p.petite {
font-variant: small-caps;
}
Code HTML :
Il y a aussi une autre propriété CSS qui permet de forcer les majuscules : text-transform d'un
texte. Elle peut prendre ces valeurs :
Code CSS :
.aucun {
text-transform:none;
}
.minuscule {
text-transform: lowercase;
}
.majuscule {
text-transform: uppercase;
}
.capitale {
text-transform: capitalize;
}
Page 74
Code HTML :
h1 {
text-align: center; /* centré */
}
.justifie {
text-align: justify; /* justifiée */
Page 75
}
.droite {
text-align: right; /*aligné à droite*/
}
Code HTML :
Aperçu :
Page 76
Il n'est pas possible de modifier l'alignement d'un texte d'une balise in line telles que la
balise em, strong, etc. L'alignement ne concerne que les types block.
• underline : souligné.
• line-through : barré.
Page 77
III. Mise en forme des listes via CSS
En HTML, on a appris les différents types de liste et les différentes balises pour les définir.
Code HTML :
Page 78
Aperçu:
Code HTML :
Page 79
3. Listes avec images
A la place des puces et des numéros, il est aussi possible de mettre des images. Pour cela,
utilisons la propriété list-style-image en mettant l'URL de l'accès local.
Code CSS :
.listeimage1 {
list-style-image: url("images/liste.gif");
}
Code HTML :
<ul class="listeimage1">
<li>liste 1 avec image en locale</li>
<li>liste 2 avec image en locale</li>
</ul>
4. Position de la liste
list-style-position est la propriété qui permet de spécifier la position du marquer de la liste
(bulles ou images) par rapport à la boite principale de l’item de la liste . Il peut y avoir deux
valeurs possibles :
▪ Outside : valeur par défaut, la boite du marqueur est en dehors de la boite principale
▪ Inside : la boite du marqueur est la première boite inline du bloc principale.
▪ Inherit : hérite la propriété du parent
Page 80
Cas ou list-style-position est égale inside
1. La couleur de fond
La propriété background-color sert à mettre une couleur du fond. Pour mettre un fond vert
sur toute la page web par exemple, on utilise des styles dans la balise body.
Code CSS :
body {
background-color: green; /* fond de page en vert
color: black; /* couleur du texte en noir */
}
Si on ne désire mettre du fond que sur une partie, il suffit de créer une classe .fondcouleur
par exemple. Et de l'appliquer sur l'élément.
Code CSS :
.fondcouleur {
background-color: yellow;
color: green ;
}
Code HTML :
Page 81
2. Les images de fond
La propriété background-image nous permet de placer une image en fond de la page ou en
fond de texte d'un ou plusieurs éléments. Il suffit de spécifier une image d'arrière-plan en
indiquant son chemin. Pour une image fond.jpg se trouvant dans un répertoire image du
site, on aura donc :
Code CSS :
body {
background-image: url("image/fond.jpg");
}
body {
background-image: url("/images/fond.jpg");
background-attachment: fixed; /* Le fond restera fixe */
}
Page 82
▪ no-repeat : le fond ne sera pas répété
▪ repeat-x : le fond sera répété uniquement sur la première ligne, horizontalement.
▪ repeat-y : le fond sera répété uniquement sur la première colonne, verticalement.
▪ repeat : le fond sera répété, horizontalement et verticalement. (valeur par défaut).
body {
background-image: url("/images/fond.jpg");
background-repeat: repeat-y;
}
Ce code CSS donnera une page avec un fond répété verticalement.
c. Exemple d’application :
Mettre un fond placé à 40 pixels de la gauche et 50 pixels du haut.
Solution :
, la propriété aura comme valeur :
Body {
background-position:40px 50px;
}
Il est aussi possible d'indiquer les valeurs à l'aide de mots clés suivants :
▪ top : en haut
▪ bottom : en bas
▪ left : à gauche
▪ center : centré
▪ right : à droite
Par exemple, background-position: top right ; permet d’aligner une image en haut à droite.
Page 83
VI. Les bordure en CSS
1. Style de la bordure
On utilise la propriété border-style pour définir le style de bordure. Il y a différentes valeurs
possibles :
La plus simple et la plus courante des bordures est de style solid. C'est juste pour mettre un
trait simple.
Code CSS :
.borduresimple {
border-style : solid ;
}
Code HTML :
<p class=" borduresimple ">
J'aime le css et le HTML. C'est vraiment génial de pouvoir modifier le design du site comme on veut.
</p>Une bordure avec des pointillés par exemple peut être utile.
Code CSS :
.pointille {
border-style : dotted ;
}
Code HTML :
Page 84
<p class=" pointille">
J'aime le CSS et le HTML. C'est vraiment génial de pouvoir modifier le design du site comme on veut.
</p>
Aperçu:
2. Couleur de la bordure
En donnant une valeur à la propriété border-color, on peut avoir d'autres couleurs. Après, il
suffit de spécifier une couleur soit par son mot clé ("green", "red"...), soit par sa valeur
hexadécimale (#FF0000), soit par une valeur rgb (rgb(0, 21, 7). Pour colorer la bordure en
vert par exemple, on met comme mot clé ‘green'.
Code CSS :
.couleur {
border-style : solid;
border-color : green;
}
Code HTML :
3. Epaisseur de la bordure
L'exemple suivant nous montrera comment faire pour avoir une bordure plus épaisse ( 10px
par exemple ) ou plus fine ( 1px par exemple)
Code CSS :
.fine {
border-width : 1px;
Page 85
border-color : green;
border-style : solid;
}
.epais{
border-width : 10px;
border-color : green;
border-style : solid;
}
Code HTML :
4. bordures arrondis
La propriété border-radius va nous permettre d'arrondir facilement les angles de n'importe
quel élément. Il suffit d'indiquer la taille (« l'importance ») de l'arrondi en pixels :
Border-radius : 10px ;
On peut indiquer l’arrondissement de chaque coin a part :
Border-radius : 10px 10px 0px 0px ;
Les valeurs correspondent aux angles suivants dans cet ordre :
1. en haut à gauche ;
2. en haut à droite ;
3. en bas à droite ;
Page 86
4. en bas à gauche.
Il est possible d'affiner l'arrondi des angles en créant des courbes elliptiques. Dans ce cas, il
faut indiquer deux valeurs séparées par une barre oblique
Border-radius : 30px / 40px ;
Code en CSS
p{
box-shadow: 6px 6px 0px black;
}
Notons également qu'un bloc désigne un élément de type bloc comme le paragraphe, les
div, etc.
Page 87
définie par le navigateur. Si on ne spécifie qu'une valeur dans la propriété margin, celle-ci
s'applique à tous les côtés.
Code CSS :
.margin {
margin: 70px;
}
Code HTML :
.marge {
margin: 2px 10px 4px ;
}
Si les quatre valeurs sont spécifiées, celles-ci s'appliquent respectivement aux marges du
haut, de droite, du bas et de gauche.
Code CSS :
.marge {
margin: 10px 30px 50px 70px;
}
Page 88
2. Les marges internes avec padding
Le padding est une zone, appelée aussi "marge interne" ou "intervalle". Elle est utilisée pour
entourer de marge le "contenu" à l'aide de 4 valeurs. Concrètement, ça sert à définir une
distance entre le contenu d'une boîte et la bordure de ce dernier.
Code CSS:
.padding {
border: solid 2px #990000;
padding: 50px;
width: 350px;
text-align: justify;
}
Page 89
▪ width : pour spécifier la largeur du bloc
▪ height : pour spécifier la hauteur du bloc
Par défaut, un bloc prend 100% de la largeur disponible. Voyons un exemple de div qui
n'utilise aucun style:
Code HTML :
<div>
Généralement quand on parle de bloc, on fait référence à un div. Mais tout ce qui suit est aussi
valable pour d'autres balises de type bloc comme les paragraphes par exemple. Parfois on veut avoir
des petites boîtes, dès fois on en veut des grandes. Serait-il possible de fixer la dimension des boîtes ?
La réponse est oui. Un bloc a des dimensions précises que l'on peut spécifier. </div>
Maintenant, avec le même code on ajoute de la largeur et de la bordure pour bien voir le
changement.
Code CSS :
div {
border: solid 2px #000099;
}
.largeur {
width: 60%;
text-align: justify;
}
Code HTML :
<div class="largeur"> Généralement quand on parle de bloc, on fait référence à un div. Mais tout ce
qui suit est aussi valable pour d'autres balises de type bloc comme les paragraphes par exemple.
Parfois on veut avoir des petites boîtes, parfois on en veut des grandes. Serait-il possible de fixer la
dimension des boîes ? La réponse est oui. Un bloc a des dimensions précises que l'on peut spécifier.
</div>
Aperçu :
Page 90
Dans l'exemple ci-dessus, le div avec une largeur de 60% n'occupe plus que 60 % de la page.
On a utilisé le pourcentage mais on peut mettre aussi des tailles exactes en px.
.vert {
background-color:green; /* vert */
}
.rouge {
background-color:red; /* rouge */
}
.jaune {
background-color:yellow; /* jaune */
}
Page 91
Code HTML :
A l'inverse les types block s'affichent les uns en dessous des autres comme les mots japonais.
Avant et après l'affichage d'un élément du type block, il se crée automatiquement un retour
à la ligne. Exemple :
Code HTML :
Aperçu :
Différentes propriétés CSS nous permettent de manipuler cet ordre de positionnement. C'est
ce que nous allons voir dans la suite.
Display :inline;
Page 92
Généralement on voit que les titres s'affichent les uns à la suite des autres comme dans
l'exemple suivant.
CSS commun aux deux types d'affichage :
Code CSS (commun aux deux types d'affichage) :
.vert {
background-color:green; /* vert */
}
.rouge {
background-color:red; /* rouge */
}
.jaune {
background-color:yellow; /* jaune */
}
Code HTML :
Ceci est parfaitement normal puisque la balise <h1> est de type block.
Appliquons maintenant la propriété display à ces mêmes titres pour voir ce que ça donne
quand on change de type. On a juste à rajouter display : inline à la balise <h1>. Et on aura les
trois titres vert rouge jaune sur la même ligne
Code CSS (commun aux deux types d'affichage) :
.vert {
background-color:green; /* vert */
}
.rouge {
background-color:red; /* rouge */
}
.jaune {
background-color:yellow; /* jaune */
Page 93
}
/* à rajouter*/
h1{
display: inline;
}
Code HTML:
Aperçu:
▪ position:relative;
▪ position:absolute;
▪ position:fixed;
Page 94
a. Positionnement relatif :
On a dit que le flux définit l'ordre d'affichage par défaut des éléments. En positionnant de
façon relative un élément, on ne le retire pas du flux. Il suit toujours la règle normale des
positionnements. En mettant position:relative ; l'élément se déplace simplement par rapport
à sa position normale.
Code CSS :
.relatif{
background-color: yellow;
border: 2px solid black;
position: relative;
left: 50px;
top:10px;
}
Code HTML :
b. Positionnement absolu :
Avec le positionnement absolu, l'élément est détaché complètement du flux. Sa position
n'est plus définie par rapport à la normale. Si la page est considérée comme une sorte de
repère, l'élément sera placé par rapport à ce repère suivant les coordonnées définies. Les
propriétés bottom, left, right ou top définiront ses positions comme suit :
Page 95
▪ bottom : par rapport au bas de la page
Le positionnement absolu nous donne alors une possibilité plus étendue au niveau du
placement des blocks. Il nous permet de placer un block à n'importe quel endroit de la page
que ce soit en haut à droite, ou en bas à gauche, ou etc.
c. Positionnement Fixed :
La propriété position:fixed pourrait nous être avantageuse dans certains cas. On place un
élément sur la page, il y reste visible même si on fait défiler la page. Un cas très pratique est
le cas des menus. Si on veut par exemple qu'un menu reste visible quand le visiteur parcourt
la page, on le met en position fixe sur une partie de la page.
Page 96
Exercices d’application
▪ Première classe de style : centré en bleu, avec des textes plus petits
▪ Deuxième classe de style : aligné à droite en rouge, avec des textes plus grands
▪ Troisième classe de style : normal en noir, avec des textes moyens.
On va appliquer les trois classes pour la même balise HTML <p>, mais des styles différents,
qui les présentent de manière différente.
Page 97
Exercice 3 : La mise en page en CSS
Dans cet exercice nous allons créer une architecture classique de site internet qui
ressemblera à la figure ci-dessous.
• un header avec un h1
• un aside avec un menu
• un article principal
• un footer avec un paragraphe
Travail demandé :
Ecrire le code HTML et CSS permettant de créer cette page en appliquant les deux méthodes
de positionnement CSS:
• Le positionnement par « position : absolute ; »
• Le positionnement par les flottants
Page 98