Introduction Web : Cours. IUT de Villetaneuse.



Documents pareils
Formation HTML / CSS. ar dionoea

.. CSS. Damien Nouvel. Damien Nouvel (Inalco) CSS 1 / 15

LES GRANDES ETAPES DE CREATION D UN WEB DESIGN

HTML, CSS, JS et CGI. Elanore Elessar Dimar

Tutoriel : Feuille de style externe

Introduction à Expression Web 2

JOOMLA 1.5 avancé SUPPORT DE COURS + annexe

ING & NEWSLETTER NEWSLETTER RESPONSIVE

Bernard Lecomte. Débuter avec HTML

Utilisation de l éditeur.

HTML. Notions générales

Un mini-site internet en une après-midi

MAILING KOMPOZER... 2 CREEZ UNE PAGE... 2 FORMAT DE LA PAGE... 2 AJOUTER DU TEXTE SUR UNE PAGE... 4

Initiation à html et à la création d'un site web

KompoZer. Composition du site : _ une page d'accueil : index.html. _ une page pour la théorie : theorie.html. _ une page pour les photos : photos.

HMTL. Exemple de fichier HTML. Structure d un document HTML. Exemple de fichier HTML. Balises HTML. IFT1147 Programmation Serveur Web avec PHP

Media queries : gérer différentes zones de visualisation

145A, avenue de Port Royal, Bonaventure (Québec) G0C 1E0 Sans frais :

Guide de réalisation d une campagne marketing

Présentation du Framework BootstrapTwitter

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

TIC. Réseau informatique. Historique - 1. Historique - 2. TC - IUT Montpellier Internet et le Web

Notes pour l utilisation d Expression Web

Les outils de création de sites web

Prise en main rapide

Normes techniques 2011

1. La notion de cascade

Atelier Formation Pages sur ipad Pages sur ipad

Mon aide mémoire traitement de texte (Microsoft Word)

Optimiser pour les appareils mobiles

Création d un site Internet

COMMENCER AVEC VUE. Chapitre 1

TP 5 Les CMS, la forme et le fond Internet et Outils (IO2)

3. RÉALISATION ET QUALIFICATION D UN PROTOTYPE 3.1 Réalisation d un prototype CRÉATION D UNE PAGE WEB STATIQUE AU FORMAT HTML

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN ING

Création WEB avec DreamweaverMX

1 CRÉER UN TABLEAU. IADE Outils et Méthodes de gestion de l information

VOCABULAIRE LIÉ AUX ORDINATEURS ET À INTERNET

Licence de Biologie, 1ère année. Aide. [Aide 1] Comment utiliser l'explorateur Windows? Comment créer des dossiers?

Grille fluide. Une grille fluide sert à structurer la mise en page, la rendre harmonieuse et faciliter le passage au responsive web design

COMMENT PUBLIER SUR ARIANE?

Tutoriel BLOGGER. Pour vous donner une idée, voici un exemple de blog :

Publier dans la Base Documentaire

Pack Fifty+ Normes Techniques 2013

INTRODUCTION AU CMS MODX

GUIDE D UTILISATION DU BACKOFFICE

{less} Guide de démarrage

RAPPORT AUDIT SEO. Élaboré à l'attention de : Monsieur Greber Élaboré par : Cédric Peinado

Guide pour la réalisation d'un document avec Open Office Writer 2.2

Débuter avec Excel. Excel

Programmation Internet Cours 4

Avant-propos FICHES PRATIQUES EXERCICES DE PRISE EN MAIN CAS PRATIQUES

ENVOI EN NOMBRE DE Mails PERSONNALISES

Manuel de mise en page de l intérieur de votre ouvrage

GUIDE Excel (version débutante) Version 2013

Formation tableur niveau 1 (Excel 2013)

GUIDE D UTILISATION CRÉER SON SITE WEB - PROJET RESCOL

TP JAVASCRIPT OMI4 TP5 SRC

Date M.P Libellé Catégorie S.Catégorie Crédit Débit Solde S.B

La Clé informatique. Formation Excel XP Aide-mémoire

UTILISER LA MESSAGERIE

Évaluation des compétences. Identification du contenu des évaluations. Septembre 2014

Création d un site web avec Nvu

Formation > Développement > Internet > Réseaux > Matériel > Maintenance

<Créer un site Web. avec/> Suzanne Harvey

Cours Excel : les bases (bases, texte)

RESPONSIVE WEB DESIGN

Tapez le titre de la page «BASTIA ville méditerranéenne», puis allez deux fois à la ligne à l aide de la touche Entrée.

Infolettre #18 : Les graphiques avec Excel 2010

Groupe Eyrolles, 2003, ISBN : X

PRISE EN MAIN D UN TABLEUR. Version OPEN OFFICE

HTML5 et CSS3 pour des sites Responsive Web Design

Maîtrisez votre Navigateur

Travaux dirigés n 10

Création d une SIGNATURE ANIMÉE avec PHOTOFILTRE 7

Créer un site Internet dynamique

Optimiser les s marketing Les points essentiels

Introduction à HTML5, CSS3 et au responsive web design

Formation Word/Excel. Présentateur: Christian Desrochers Baccalauréat en informatique Clé Informatique, 15 février 2007

Tutoriel. Votre site web en 30 minutes

mon site web via WordPress

Freeway 7. Nouvelles fonctionnalités

Guide d usage pour Word 2007

Cours pratique Excel. Dans chacune des feuilles, les donnés sont déjà entrées afin de gagner du temps.

Guide de l utilisateur. Faites connaissance avec la nouvelle plateforme interactive de

Saisissez le login et le mot de passe (attention aux minuscules et majuscules) qui vous ont

Tutoriaux : Faites vos premiers pas avec Microsoft Visio 2010

Styler un document sous OpenOffice 4.0

STID 2ème année : TP Web/PHP

Publier un Carnet Blanc

qwertyuiopasdfghjklzxcvbnmqwerty uiopasdfghjklzxcvbnmqwertyuiopas dfghjklzxcvbnmqwertyuiopasdfghjklz mqwertyuiopasdfghjklzxcvbnmqwert

Troisième projet Scribus

Paramétrage des navigateurs

TP création et publication d'un site web statique

BUREAUTIQUE. 1 Journée. Maîtriser les fonctions de base du logiciel

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Soyez accessible. Manuel d utilisation du CMS

L espace de travail de Photoshop

Transcription:

Introduction Web : Cours 1ère année IUT de Villetaneuse. Mathieu Lacroix 1 9 septembre 2014 1. E-mail : mathieu.lacroix@iutv.univ-paris13.fr, Page Web : http://www.lipn.univ-paris13.fr/~lacroix/

IUT de Villetaneuse 2

Table des matières 1 Internet, Web et HTML 5 1.1 Introduction........................................ 5 1.1.1 Définitions.................................... 5 1.1.2 Qu est-ce qu une adresse Web (url)?...................... 6 1.1.3 Que se passe-t-il lorsque je saisis une adresse Web (fichier.html)?.... 6 1.2 Le langage HTML.................................... 8 1.2.1 Balises courantes du HTML........................... 10 1.2.2 Information d un document HTML....................... 12 1.2.3 Représentation d un document HTML sous forme d arbre.......... 12 1.2.4 Différences entre balises de type block et balises de type inline...... 13 1.2.5 Règles d écriture d un fichier HTML...................... 14 2 Mise en page avec CSS 15 2.1 Écriture de code CSS................................... 15 2.2 Les principales propriétés et leurs valeurs....................... 16 2.2.1 Modification de la police............................. 16 2.2.2 Dimensions.................................... 17 2.2.3 Modification du fond............................... 17 2.2.4 Bordures et marges................................ 18 2.2.5 Modifications liées aux listes et tableaux.................... 19 2.2.6 Modification du type de la balise........................ 20 2.2.7 Positionnement.................................. 20 2.2.8 Modification du curseur de la souris...................... 23 2.2.9 Spécification de l affichage en cas de dépassement............... 23 2.3 Classes et identifiants.................................. 24 2.4 Balises HTML span et div................................ 24 2.5 Les pseudo-formats.................................... 25 2.5.1 Pseudo-formats associés aux liens........................ 25 2.5.2 Pseudo-formats associés aux paragraphes................... 25 2.5.3 Pseudo-format :first-child.......................... 25 2.6 Les différents sélecteurs et modifications en cascades................. 25 2.6.1 Combinaisons de sélecteurs........................... 25 2.6.2 Styles en cascade................................. 26 2.6.3 Priorité des sélecteurs.............................. 26 2.7 Héritage.......................................... 27 2.7.1 Valeur par défaut et héritage.......................... 27 2.7.2 Valeur inherit.................................. 28 3

IUT de Villetaneuse 4

Cours 1 Internet, Web et HTML Dans ce chapitre, nous donnons tout d abord les définitions de l Internet, du Web et du langage HTML. Nous expliquons ensuite ce qu est une url et les différentes actions induites lorsque je demande à afficher une page Web à l aide d un navigateur. Nous montrons finalement comment définir une page Web. 1.1 Introduction Tout le monde sait utiliser "le Web" pour accéder à des sites. Cependant, peu de monde comprend exactement les mécanismes qui entrent en jeu lorsque l on utilise "le Web". Ce sont ces mécanismes que nous abordons dans cette section. 1.1.1 Définitions Tout d abord, il est primordial de connaître de quoi nous parlons. Les termes Internet, Web ne sont en effet pas toujours utilisés correctement. Voici une liste de définitions nécessaires pour comprendre de quoi nous parlons. Réseau : ensemble de machines (ordinateurs, imprimantes, modems routeurs,...) pouvant communiquer entre elles. Pour être en mesure de communiquer, ces machines doivent être reliées entre elles soit par des câbles, soit par des ondes (wifi). Un ordinateur relié à un modem de type neufbox, freebox ou autre correspond donc à un réseau. De même, tous les ordinateurs de l IUT de Villetaneuse forment un réseau. Internet : obtenu par contraction de "Interconnexion Networks" (interconnexion de réseaux). Internet est un réseau connectant entre eux différents réseaux existants. Internet a pour vocation de relier tous les ordinateurs du monde. Internet permet donc de faire communiquer deux machines connectées sur des réseaux différents. C est donc grâce à internet qu il est possible de communiquer de chez soi avec un ordinateur de l IUT de Villetaneuse. Mais Internet n est qu un réseau, c est-à-dire qu il permet juste d envoyer des données (0 ou 1) entre deux ordinateurs. Web : application permettant de consulter à l aide d un programme spécifique appelé navigateur, des pages d un site (ensemble de pages reliées entre elles). Si le navigateur et le site se trouvent sur des ordinateurs différents, alors le Web utilise l Internet pour la communication entre ces deux ordinateurs. Le Web n est donc qu une application utilisant Internet. D autres applications sont le courrier électronique, la messagerie instantanée, etc. Navigateur : Le navigateur est un logiciel permettant l affichage de pages d un site Web. Différents navigateurs existent : Internet Explorer (54.77%), Mozilla Firefox (19.82%), Google Chrome (18.04%) et Apple Safari (5.24%) sont différents exemples de navigateurs. Langage HTML : langage de balises permettant de spécifier dans une page Web quelles parties correspondent à un titre, un paragraphe, quelles images insérer dans la page, etc. C est grâce 5

IUT de Villetaneuse à ce langage (et au CSS, que nous verrons plus tard), que les navigateurs peuvent afficher correctement les pages Web. Un exemple (très incomplet!!!) de code HTML est le suivant : <h1> Ceci est un titre </h1> <p> Ceci est un paragraphe... </p> Le Web est donc une application permettant d afficher, dans un navigateur, des fichiers texte contenant du code HTML. Ces fichiers se trouvent généralement sur un ordinateur différent et le Web utilise alors l Internet pour transmettre les informations entre les deux ordinateurs : celui possédant le fichier et celui sur lequel est utilisé le navigateur. L ordinateur sur lequel sont stockés des fichiers contenant du code HTML est appelé serveur. L autre ordinateur est appelé client. La principale caractéristique du Web est la possibilité de passer d un fichier à l autre grâce aux liens hypertextes. Ce sont ces liens hypertextes qui permettent par exemple de passer de la page d accueil d un compte facebook aux pages contenant les photos, les messages, etc. 1.1.2 Qu est-ce qu une adresse Web (url)? Lorsque je souhaite afficher la page d accueil de Facebook dans mon navigateur, il faut donc que je signale que je veux le fichier correspondant à la page d accueil du site Facebook. Ces informations doivent donc être données sous forme d adresse Web ou url (Uniform Resource Locator, littéralement "localisateur uniforme de ressource") en anglais. Une adresse Web est de la forme : nom_du_protocole://adresse_du_site/chemin_du_repertoire/fichier protocole : indique le langage utilisé pour la communication entre deux ordinateurs. Il est nécessaire car il permet de s assurer que les deux ordinateurs parlent le même langage afin qu ils se comprennent. Le protocole définit donc les règles pour un type de communication. Les protocoles de communication s appliquent en dehors de l informatique. Une conversation téléphonique s appuie par exemple sur un protocole. Afin d avoir une conversation téléphonique, vous devez composer le numéro de téléphone de votre interlocuteur. Vous attendez ensuite qu il décroche et dise "allo" avant de commencer votre conversation. Vous vous présentez ensuite, etc. Le protocole du Web est le protocole http. adresse_du_site : correspond à l adresse du serveur sur lequel se trouve le fichier que vous désirez consulter. Cette adresse correspond au numéro IP de la machine (ex : 69.63.181.12) ou à une chaîne de caractères (ex : www.facebook.com) qui est appelée nom de domaine. Un nom de domaine est associé à un numéro IP unique. chemin_du_repertoire : correspond au répertoire où se trouve le fichier sur le serveur. fichier : nom du fichier que vous voulez consulter. Voici différents exemples d adresses Web : http://www-lipn.univ-paris13.fr/~lacroix/documents/introweb/interaction.html http://69.63.181.12/index.php http://www.facebook.com/ On remarque que pour la dernière adresse donnée en exemple, il n y a pas de fichier spécifié. Dans ce cas, le fichier est alors le fichier index.html ou index.php. Comme le nom de domaine www.facebook.com est associé au numéro IP 69.63.181.12, les deux dernières adresses sont équivalentes! 1.1.3 Que se passe-t-il lorsque je saisis une adresse Web (fichier.html)? Lorsque je saisis sur un navigateur (par exemple Mozilla Firefox) une adresse Web dont le fichier porte l extension.html (ou.htm), cela signifie que je souhaite que mon navigateur affiche le fichier HTML situé à l endroit indiqué par l adresse Web. Pour cela, il est nécessaire que le client (mon ordinateur) et le serveur (contenant le fichier que je souhaite visualiser) communiquent. Cela se passe de la manière suivante : 1. le client envoie un message au serveur pour lui demander de lui envoyer le fichier, 6

Département informatique 2. le serveur répond en envoyant le fichier demandé, 3. le navigateur interprète le code HTML reçu et affiche la page Web. Ceci est illustré dans la figure suivante. Figure 1.1 Schéma de requête en HTML 1 De manière plus précise, pour demander au serveur de lui envoyer le fichier, le client (mon ordinateur) va envoyer au serveur un message du type : GET /~lacroix/documents/introweb/interaction.html HTTP/1.1 Host: www-lipn.univ-paris13.fr Ce code correspond alors à "Bonjour site www-lipn.univ-paris13.fr, je communique selon le protocole HTTP (version 1.1). Peux-tu m envoyer (get en anglais) s il te plaît le fichier / lacroix/documents/introweb/interaction.html?" Généralement, la requête est suivie de quelques informations supplémentaires qui ne sont pas nécessaires. Le client peut dire sur quel type de système d exploitation il tourne (windows, linux, mac), quelle est la taille en octets de la requête envoyée, etc. Le serveur recevant la requête envoie à son tour un message. Celui-ci ressemble alors à HTTP/1.1 200 OK Content-Type: text/html <!doctype html> <html> <head> <title>page personnelle de </title> <meta charset="utf-8" /> </head> <body> <h1> Interaction client/serveur lors de la saisie d une url (statique) </h1>... </html> La première ligne indique que le serveur a accepté la réponse. La deuxième ligne spécifie que le serveur envoie du code html. Le reste correspond au code html de la page interaction.html. Le navigateur recevant le code HTML interprète les balises et affiche alors la page Web. Pour l exemple, on obtient alors : 1. Image construite à partir d une image du site "Le site du zéro". 7

IUT de Villetaneuse Figure 1.2 Visualisation de la page Web avec le navigateur Remarque : La figure précédente correspond au rendu visuel du code HTML de la page demandée sans aucune instruction de mise en page (code CSS). Comme vous avez déjà pu le remarquer, beaucoup de pages Web contiennent des images. Par exemple, ma page index.html contient une image représentant le logo de l IUT. Dans le code XTML de ma page, j ai donc utilisé une balise indiquant que le fichier image (logo_iut_villetaneuse.jpeg) de l IUT doit être affiché sur la page. Le navigateur doit alors également demander au serveur de lui envoyer cette image. L affichage de la page nécessite alors plusieurs échanges entre le client et le serveur. On peut alors représenter ces échanges de la manière suivante : client : Bonjour serveur, peux-tu m envoyer le fichier index.html s il te plaît? serveur : Bonjour, pas de problème, je te l envoie. client : Pour afficher la page index.html, j ai besoin du fichier logo_iut_villetaneuse.jpeg, peux-tu me l envoyer s il te plaît? serveur : Pas de problème, je te l envoie. Les deux premières lignes correspondent au premier échange que nous avons vu précédemment. Pour demander le fichier image, le client envoie une autre requête (similaire à la première), lui demandant d envoyer le fichier. Le nombre de requêtes que fait le client dépend donc du nombre de fichiers nécessaires pour afficher la page Web (ce sont des images, des fichiers CSS, ou des scripts). Plus ce nombre est important, plus la communication entre le serveur et le client est importante, et plus le navigateur met du temps à afficher la page! Remarque : Les fichiers nécessaires pour afficher une page Web peuvent se trouver sur différents serveurs. Dans ce cas, le navigateur demande à chaque serveur les fichiers dont il a besoin. 1.2 Le langage HTML Nous venons de voir succintement comment fonctionne le Web. Nous expliquons maintenant comment écrire un fichier au format HTML. Le langage HTML est un langage de balises permettant d écrire des pages Web. Ces balises sont utilisées pour structurer les éléments d un document HTML, c est-à-dire pour signifier quelles parties correspondent à un titre, un paragraphe, un tableau, une image, une liste, etc. En aucun cas, elles ne permettent de modifier l affichage de ces éléments. Par exemple, le HTML ne permet pas de mettre en couleur un texte! Toutes les instructions modifiant l affichage sont définies dans un 8

Département informatique fichier séparé, appelé fichier CSS. Ce fichier contient un code (qui n est pas du HTML!) modifiant l affichage des structures logiques (titres, paragraphes, etc). Dans ce fichier CSS, les instructions permettent de spécifier par exemple : "les titres doivent être affichés en rouge, les paragraphes doivent être affichés en bleu sur fond marron et faire 300 pixels de larges,...". Nous verrons comment écrire du code CSS dans le chapitre suivant. Séparer le contenu (code HTML) de la forme (code CSS) d une page Web permet de simplifier la création ou la maintenance d une page (ou site) Web. En effet, comme les différentes instructions sont séparées, il n est pas nécessaire de modifier le fichier HTML correspondant au contenu du site pour modifier son apparence. De la même manière, de cette façon, il est vraiment plus facile de s assurer que toutes les pages d un même site Web ont le même style d affichage. Il suffit pour cela d associer à chaque page Web du site le même fichier CSS. Le langage HTML est donc un langage de balises. Chaque balise commence par le caractère "<" et se termine par le caractère ">". Par exemple : <p>. Ces balises ne sont pas affichées par le navigateur car elles ne correspondent pas à du texte. Elles servent uniquement à expliquer les éléments d une page Web. Les balises vont généralement par paire : la balise ouvrante et la balise fermante. Cette dernière se distingue de la balise ouvrante par le caractère "/" qui est ajouté juste après le caractère "<". Par exemple, la balise ouvrante <p> et la balise fermante </p>. Ces balises servent à indiquer que ce qui est entre la balise ouvrante et la balise fermante correspond à un élément de la page. Par exemple, le code 1 <p> Ceci est un paragraphe </p> indique que tout se qui se trouve entre la balise <p> et la balise </p> correspond à un paragraphe dans la page Web. Certaines balises ne sont cependant pas utilisées par paire. Ces balises sont appelées balises auto-fermantes. C est le cas lorsqu il n y a pas rien à mettre entre la balise ouvrante et la balise fermante. Par exemple, pour sauter une ligne (dans un paragraphe), on utilise la balise de nom br. En suivant la syntaxe précédente, on devrait donc écrire 1 <p> Première ligne <br></br> deuxième ligne </p> Cependant, comme entre <br> et </br> il n y a jamais rien, on préfère utiliser une seule balise br. Pour signifier cependant qu elle s utilise toute seule, on doit rajouter le signe "/" à la fin de la balise. Le code correct est donc : 1 <p> Première ligne <br /> deuxième ligne </p> Dernière chose, il est parfois nécessaire d ajouter des attributs aux balises pour spécifier certaines informations. Par exemple, si je veux insérer une image dans ma page Web, il faut que j utilise la balise <img /> qui indique qu un fichier image doit être incorporé à la page. Cependant, pour que le navigateur sache quelle image afficher, il faut spécifier la source de l image, c est-à-dire le nom du fichier image et l endroit où il se trouve. Pour cela, nous utilisons des attributs. Ces attributs s utilisent de la manière suivante 1 < balise attribut1 ="valeur1" attribut2="valeur2" attribut3="valeur3">... </balise> 2 < balise attribut1 ="valeur1" attribut2="valeur2" /> suivant que l on ait une balise ouvrante et une balise fermante, ou une balise auto-fermante. Les attributs se mettent donc dans la balise ouvrante (si la balise n est pas auto-fermante). De plus, ils sont écrits en minuscules. La valeur de l attribut est entre guillemets et l on peut avoir plusieurs attributs séparés par des espaces. Remarque : Comme pour beaucoup de langages informatiques, mettre plusieurs espaces d affilée ou sauter des lignes ne modifie absolument rien. Profitez-en pour écrire un code agréable à lire! 9

IUT de Villetaneuse Remarque : Le symbole < correspondant à l ouverture d une balise en HTML, il n est pas possible d utiliser ce symbole comme un caractère normal. Pour insérer ce symbole, il faut utiliser le codage spécial <. Ainsi, si je souhaite écrire un paragraphe contenant "1 < 2" en HTML, je dois alors écrire <p> 1 < 2 </p>. De la même manière, si je veux insérer le symbole &, il faut alors insérer &. 1.2.1 Balises courantes du HTML Nous décrivons maintenant les principales balises du HTML Racine du document Tout document HTML doit commencer par la balise <html> et se terminer par la balise </html>. En-tête du document Un document HTML contient plusieurs informations qui ne seront pas affichées dans la page Web. Ces informations définissent le titre de la page (ATTENTION : ce titre n est pas un titre apparaissant dans la page Web mais le titre de l onglet sous Firefox!), l encodage des caractères, etc. Seul le titre de la page (balise title) est obligatoire. La balise définissant l en-tête est la balise head. (Un exemple est donné par la suite.) Corps du document Toutes les informations qui doivent être affichées sur la page (titres, paragraphes, tableaux, images, etc) doivent être comprises entre les balises <body> et </body>. Titres Nous avons déjà vu comment écrire un titre important en utilisant la balise h1 (e.g., <h1> Titre important </h1>). De même que pour un document classique tel que ce cours, il est possible de définir en HTML des titres moins importants, correspondant par exemple à des sous-titres. L importance du titre est appelé niveau du titre. Il existe en HTML six niveaux de titres différents, donnés par les balises h1, h2, h3, h4, h5 et h6. Par exemple, le début de la table des matières de ce cours serait représentée à l aide du code HTML suivant : 1 <h1> Internet, Web et HTML </h1> 2 <h2> Introduction </h2> 3 <h3> Définitions </h3> 4 <h3> Qu est-ce qu une adresse Web (url)?</h3> 5 <h3> Que se passe-t-il lorsque je saisis une adresse Web?</h3> 6 <h2> Le langage HTML </h2> Paragraphes Un paragraphe doit être compris entre les balises <p> et </p> Listes ordonnées et non ordonnées Il est possible en HTML de définir des listes ordonnées (balise ol) et non-ordonnées (balise ul). Pour utiliser ces listes, il est nécessaire de définir des items. Chaque item d une liste doit être compris entre les balises <li> et </li>. Les différents items doivent alors être compris entre les balises <ol> et </ol> dans le cas d une liste ordonnée ou entre les balises <ul> et </ul> dans le cas d une liste non-ordonnée. Par exemple, la liste de la page 7 peut être représentée par le code HTML suivant : 1 <ol> 2 < li > le client envoie un message au serveur pour lui demander de lui envoyer le fichier, </ li > 3 < li > le serveur répond en envoyant le fichier demandé, </li> 4 < li > le navigateur interprète le code HTML et affiche la page Web. </li> 5 </ol> Saut de lignes Un saut de ligne est représenté par la balise auto-fermante <br />. 10

Département informatique Ligne horizontale Une ligne horizontale est dessinée grâce à la balise auto-fermante <hr />. Mise en valeur de texte Du texte peut être mis en valeur grâce aux balises em et strong. Le texte à mettre en valeur doit être compris entre les balises <em> et </em> ou entre les balises <strong> et </strong>. Insertion d images Une image peut être insérée grâce à la balise auto-fermante <img />. Cette balise doit obligatoirement contenir les deux attributs suivants : src : indique le nom du fichier image ainsi que son chemin. Ce chemin peut être relatif, c est-à-dire défini par rapport à l endroit où se trouve la page Web ou absolu. Si l image se trouve sur le même site que la page Web, il est préférable d utiliser le chemin relatif. alt : texte alternatif décrivant l image, utilisé si l image n existe plus ou pour les navigateurs textes par exemple. Voici un exemple de code HTML insérant le fichier image "logo_iut.png" qui se trouve dans le répertoire Images contenu dans le répertoire où se situe la page Web contenant le code : 1 <img src="images/logo_iut.png" alt="logo de l IUT de Villetaneuse" /> Liens hypertextes Les liens hypertextes permettent de naviguer d une page Web à une autre. Un lien hypertexte s effectue à l aide de la balise a. L élément cliquable (texte ou image par exemple) doit être compris entre la balise ouvrante <a> et la balise fermante </a>. Il est nécessaire de donner en attribut (attribut href) la page qui doit s ouvrir lors du clic sur le lien. Pour pouvoir, à partir du fichier fichier1.html, accéder en cliquant au fichier fichier2.html, il faut ajouter dans le code HTML du fichier1.html le code 1 <a href="chemin_du_fichier2/fichier2.html"> cliquez ici pour accéder à fichier2.html </a> Là encore, le chemin du fichier HTML peut être relatif ou absolu. Tableaux Il est possible de définir des tableaux en HTML. Un tableau est représenté par un ensemble de lignes, chaque ligne contenant un ensemble de cellules. Chaque contenu de cellule doit être compris entre les balises <td> et </td>. Les cellules d une même ligne doivent être comprises entre les balises <tr> et </tr>. Finalement, les lignes d un tableau doivent être comprises entre les balises <table> et </table>. Le tableau Cellule 1 Cellule 2 Cellule 3 Cellule 4 Cellule 5 Cellule 6 est alors codé en HTML de la manière suivante : 1 <table> 2 <tr> 3 <td> Cellule 1 </td> <td> Cellule 2 </td> <td> Cellule 3 </td> 4 </tr> 5 <tr> 6 <td> Cellule 4 </td> <td> Cellule 5 </td> <td> Cellule 6 </td> 7 </tr> 8 </table> Généralement, les cellules de la première ligne et/ou colonne d un tableau contiennent les noms des données (ex : nom, age, etc) de la colonne. On parle alors de cellules d en-tête du tableau. En HTML, une cellule d en-tête est définie à l aide des balises <th> et </th> au lieu des balises <td> et </td>. Remarque : Ces balises servent uniquement à insérer un tableau de données sur la page Web. Elles ne doivent en aucun cas être utilisées pour sa mise en page. 11

IUT de Villetaneuse 1.2.2 Information d un document HTML Le HTML, pour être valide, doit contenir un certain nombre d informations qui sont stockées au début du document et dans la balise html. Ces informations sont les suivantes : 1 <!doctype html> 2 <html> 3 <head> 4 < title > TITRE OBLIGATOIRE </title> 5 <meta charset="utf-8" /> 6 </head> 7 <body> 8... le code HTML de votre page... 9 </body> 10 </html> La ligne 1 indique que le document est un document HTML. L explication dépasse le cadre de ce cours. La ligne 5 indique que le document est encodé en UTF-8. Tout document HTML doit respecter cette structure pour être valide. Il faut donc commencer systématiquement tout fichier HTML en écrivant ces lignes. 1.2.3 Représentation d un document HTML sous forme d arbre Tout document HTML peut être représenté sous forme d arbre. Cet arbre sera par la suite utilisé pour définir certaines règles d écriture (DTD) d un fichier HTML et pour modifier la mise en page du document à l aide du code CSS (chapitre suivant). Cette construction sous forme d arbre est relativement intuitive et peut être vue comme un arbre généalogique. Les sommets de l arbre sont des balises HTML. Il existe une flèche d une balise, disons balise1, à une autre, disons balise2, si balise2 est comprise entre <balise1> et </balise1> et qu il n y a pas une balise comprise entre <balise1> et </balise1> contenant la balise balise2. Bien que cette notion semble abstraite et difficile, elle est très facile à comprendre. Pour cela, considérons le document HTML suivant. 1 <!doctype html> 2 <html> 3 <head> 4 < title > TITRE OBLIGATOIRE </title> 5 <meta charset="utf-8" /> 6 </head> 7 <body> 8 <h1> Voici un titre <strong> avec des mots importants! </strong> </h1> 9 <p> Voici un premier paragraphe. Il contient notamment <a href="document.html"> un lien 10 vers le fichier document.html </a>. </p> 11 <p> Le deuxième paragraphe contient des mots à mettre en <em> valeur </em>. Nous avons 12 ensuite une liste non ordonnée : </p> 13 <ul> 14 < li > Premier point : encore <strong> <a href="document.html"> un lien </a> 15 </strong> </ li > 16 < li > Deuxième point : une autre liste 17 <ul> 18 < li > avec un item </li> 19 < li > et un autre </li> 20 </ul> 21 </ li > 22 < li > Finalement, un dernier point </ li > 23 </ul> 24 </body> 25 </html> 12

Département informatique L arbre représentant ce code HTML est donné dans la figure 1.3. Il y a une flèche de html à body car la balise body se trouve entre <html> et </html> et il n existe pas de balise contenant body qui est contenue dans html. Cet arbre permet d indiquer différentes relations entre les balises, similaires à celles définies pour les arbres généalogiques : Une balise balise1 est dite enfant d une balise balise2 s il existe une flèche de balise1 à balise2. Par exemple la balise h1 est enfant de body. Une balise balise1 est dite parent d une balise balise2 si balise2 est enfant de balise1. Par exemple la balise body est parent de h1. Une balise balise1 est dite descendant d une balise balise2 si en prenant successivement les parents de balise1, on arrive sur balise2. Par exemple, la balise title est un descendant de html car head est parent de title et html est parent de title. Une balise balise1 est dite ascendant d une balise balise2 si balise2 est descendant de balise1. Remarque : Par définition, tout parent est un ascendant et tout enfant un descendant. Attention : Dans l arbre de représentation, les enfants d une balise sont ordonnés de gauche à droite suivant l ordre dans lequel ils apparaissent dans le document HTML. Ainsi, la balise head est à gauche de la balise body puisque head apparaît avant body dans le document. html head body title meta h1 p p ul strong a em li li li strong ul a li li Figure 1.3 Arbre de représentation du document HTML 1.2.4 Différences entre balises de type block et balises de type inline Les différentes balises que l on peut mettre dans le corps de la page peuvent être classées en deux groupes. Balises de type block : Ce sont les balises qui crééent un bloc, c est-à-dire que le navigateur effectue systématiquement un retour à la ligne après l utilisation de la balise. Parmi les balises que nous venons de voir, les balises de type block sont les balises : h1,...,h6, p, ol, ul, li, hr, table, tr. Balises de type inline : L utilisation de ces balises n entraîne pas par la suite un saut de ligne. Ces balises sont : br, em, strong, img, a. Cette distinction permet notamment de définir clairement certaines règles d écriture d un document HTML. 13

IUT de Villetaneuse 1.2.5 Règles d écriture d un fichier HTML Un document HTML doit vérifier un certain nombre de règles d écriture. Ces règles ont pour but d afficher correctement une page Web mais permettent également une meilleure visibilité du site sur le Web. De plus, elles permettent de rendre le site accessible pour tous les types de navigateurs (navigateurs textes par exemple). Certaines règles sont obligatoires pour que le document soit valide, d autres sont fortement recommandées pour une meilleure lisibilité. Nous énumérons ici les principales règles. Non imbriquation de balises Il n est pas possible d imbriquer deux balises, c est-à-dire d ouvrir une première balise, puis une seconde, puis fermer la première et fermer la seconde. Le code 1 <p>paragraphe avec texte en <strong>gras</p></strong> n est donc pas valide! Il faut écrire à la place 1 <p>paragraphe avec texte en <strong>gras</strong></p> Utilisation des minuscules minuscules. Les noms des balises et des attributs doivent être écrits avec des Valeur des attributs en guillemets encadrées par des guillemets. Les valeurs des attributs doivent obligatoirement être Inclusion des balises inline Une balise de type inline ne peut pas être enfant de la balise body. Autrement dit, toute balise de type inline doit être comprise dans une balise de type block. Balises inline et block type inline. Une balise de type block ne peut être comprise dans une balise de Texte à l intérieur d un bloc Tout texte doit se trouver dans des balises de type block. Le code suivant n est donc pas valide 1 <body> 2 Voici le texte que je souhaite afficher sur mon navigateur 3 </body> Il faut impérativement utiliser une balise de type block pour encadrer ce texte. Par exemple, les balises de titres ou la balise p. Enfants et parents possibles Certaines balises sont interdites comme enfants ou parents d une autre balise. Ces règles découlent généralement du bon sens. Par exemple, on ne peut pas avoir un paragraphe contenu à l intérieur d un titre. De même, un titre ne peut pas être contenu dans un paragraphe. De la même manière, quasiment aucune balise ne peut être contenue dans elle-même. Par ailleurs, une liste (ordonnée ou non ordonnée) ne peut contenir que des balises définissant des items. Autrement dit, les seuls enfants possibles des balises ul et ol sont les balises li. Pour connaître la liste des enfants et des parents possibles pour une balise, vous pouvez regarder sur le Web différentes références telles que celle située à l adresse : http://giminik.developpez.com/xhtml/. Rappelez-vous que ce n est pas parce que le navigateur affiche correctement votre page Web que celle-ci est valide! Il faut absolument utiliser un validateur. 14

Cours 2 Mise en page avec CSS Dans le chapitre précédent, nous avons vu comment écrire du code HTML. Nous expliquons maintenant comment modifier l affichage d une page Web à l aide du CSS. 2.1 Écriture de code CSS Comme vu précédemment, le HTML permet de spécifier à quel élément correspond chaque partie du fichier HTML. Par exemple, on peut spécifier que telle partie correspond à un titre de niveau 1, à un paragraphe, à un tableau, etc. Le CSS va nous permettre de spécifier comment afficher les différents éléments. Par exemple, nous pouvons spécifier, à l aide du CSS, que les titres doivent être affichés en rouge, les paragraphes en italique, etc. Pour cela, nous écrivons dans un fichier CSS les différentes spécifications. Ceci se fait en utilisant la structure suivante : 1 sélecteur 2 { 3 propriété : valeur; 4 } Le sélecteur est la cible de la modification. Le sélecteur peut donc être par exemple une balise. La propriété est celle que nous voulons modifier. Par exemple, la propriété peut être la couleur d affichage. La valeur correspond à la valeur que l on souhaite affecter à la propriété (ex : pour la couleur, on veut du rouge). Ainsi, si l on souhaite que les titres de niveau 1 soient affichés en rouge, il suffit de mettre le code : 1 h1 2 { 3 color : red; 4 } Il peut y avoir plusieurs propriétés associées à un même sélecteur. L ensemble formé par un sélecteur et les propriétés associées est appelé une règle. Dans un fichier, il peut y avoir plusieurs règles ayant le même sélecteur. Finalement, une fois que nous avons spécifié les modifications d affichage dans un fichier, il suffit de dire dans le fichier HTML que l affichage doit suivre les spécifications données dans le fichier contenant le code CSS. Ceci se fait grâce à la balise auto-fermante link qui doit être enfant de la balise head, c est-à-dire, directement contenue entre les balises <head> et </head>. La balise link s utilise de la manière suivante : 1 < link href="fichiercss.css" rel="stylesheet" type="text/css" /> Ces trois attributs sont nécessaires en HTML. Le seul qui nous intéresse est l attribut href qui permet de spécifier le nom du fichier contenant les instructions CSS et son chemin. L utilisation de href est la même que pour la balise a. 15

IUT de Villetaneuse Remarque : On utilise généralement l extension de fichier ".css" pour indiquer que le fichier contient du code CSS. Même si cela n est pas nécessaire, utilisez cette extension pour plus de lisibilité. Remarque : Il existe d autres moyens d associer du code CSS à un code HTML qui ne seront pas abordés dans ce cours. 2.2 Les principales propriétés et leurs valeurs Nous présentons maintenant différentes propriétés du CSS ainsi que leur principales valeurs possibles. Cette liste n est pas exhaustive. Pour connaître toutes les propriétés et leurs différentes valeurs, vous pouvez par exemple visiter le site : http://www.zonecss.fr/rechercher/recherche_feuille_css_a.html. 2.2.1 Modification de la police font-family permet de spécifier la police qui doit être utilisée. Les valeurs possibles sont les différentes polices existantes telles que Times, Arial, Verdana, sans-serif, Script, Courrier, "Times New Roman", etc. Il est conseillé de mettre comme valeur plusieurs polices au cas où le navigateur ne possède pas les premières polices. (Valeur par défaut : dépend du navigateur) font-size indique la taille du texte. La taille peut être spécifiée de manière absolue en donnant sa valeur en pixels ou en utilisant les valeurs xx-small, x-small, small, medium, large, x-large, xx-large. La taille peut également être donnée de manière relative, c est-à-dire par rapport à la taille de l élément parent. Dans ce cas, la valeur est donnée en pourcentage ou en unité "em" (1em correspondant à 100%). (Valeur par défaut : medium sauf pour les titres) font-style permet de spécificier si le texte est en italique (valeur : italic) ou non (valeur : normal). (Valeur par défaut : normal sauf pour la balise em où la valeur est italic) font-weight permet de spécificier si le texte est en gras (valeur : bold) ou non (valeur : normal). Il est également possible de mettre comme valeur un nombre entre 100 et 900. (Valeur par défaut : normal sauf pour la balise strong où la valeur est bold et pour les titres où la valeur est spécifiée par un nombre) text-align permet de spécifier l alignement horizontal du texte. Cette propriété s utilise uniquement pour les balises de type block. Les différentes valeurs sont : alignement à gauche (left), alignement à droite (right), centré (center), texte justifié (justify) (Valeur par défaut : dépend du navigateur et du sens de lecture) text-decoration permet de spécificier si le texte est souligné (valeur : underline), barré (valeur : line-through), clignotant (valeur : blink), avec un trait au-dessus (valeur : overline) ou sans décoration (valeur : none). (Valeur par défaut : none sauf pour la balise a où la valeur est underline) color permet de spécifier la couleur d affichage du texte. La valeur de cette propriété peut être donnée sous trois formes : nom de la couleur (en anglais) : red, blue, green, fuschia, gray, olive, purple, etc. Cependant, il n y a que 17 couleurs ayant un nom, 16

Département informatique code hexadécimal de la couleur : composé de trois chiffres hexadécimaux représentant les tons de Rouge, de Vert et de Bleu, il permet de définir plus de 16 millions de couleurs. La couleur indigo correspond par exemple au code hexadécimal #4B0082. code RVB : permet de définir les composantes de rouge, vert et bleu en indiquant leur proportion en pourcentage ou en notation absolue (nombre compris entre 0 et 255). La couleur indigo correspond au code RVB rgb(75,0,130). Les deux dernières formes sont similaires. Elles permettent réellement de définir n importe quelle couleur. Le problème est qu il faut connaître le code de la couleur que l on souhaite utiliser. Pour cela, il existe plusieurs logiciels, tels que gimp ou gcolor, permettant de choisir une couleur dans une palette et affichant les différents codes associés à la couleur choisie. (Valeur par défaut : dépend du navigateur) 2.2.2 Dimensions Il est possible de spécifier les dimensions du contenu d une balise de type block. Ceci se fait à l aide des propriétés suivantes : width permet de spécifier la largeur du contenu de la balise. Cette taille peut être exprimée de manière absolue en pixels, ou de manière relative en pourcentage. (Dans ce cas, la largeur de l élément est égale à la largeur de l élément parent multiplié par le pourcentage.) width peut également prendre la valeur auto. Dans ce cas, la valeur est égale à la taille maximum possible que peut prendre l élément. Cette valeur dépend des marges, de la taille de la bordure (cf. plus loin) et de la taille de l élément parent. (Valeur par défaut : auto) height permet de spécifier la hauteur du contenu de la balise. La hauteur peut être exprimée en pixels ou pourcentage, ou par la valeur auto. Dans ce cas, la valeur correspond à la hauteur minimum nécessaire pour afficher l élément. (Valeur par défaut : auto) min-height permet de spécifier la hauteur minimum du contenu de la balise. La hauteur du contenu de la balise de type block associée à cette propriété sera égale au maximum entre la valeur donnée pour cette propriété et la hauteur nécessaire pour afficher correctement le contenu. Cette propriété sera utile par la suite pour s assurer que les différentes parties (menu, en-tête, partie principale, pied de page) d une page Web s affichent correctement. (Valeur par défaut : 0) Ces propriétés ne s utilisent pas pour les éléments de type inline qui, par défaut, n ont pas de dimensions. La seule exception est la balise img pour laquelle les deux premières propriétés peuvent être utilisées pour indiquer la largeur et la hauteur de l image. 2.2.3 Modification du fond Il est possible de modifier la page Web en choisissant une couleur de fond (ou arrière-plan), ou une image de fond, pour chaque balise. background-color permet de spécifier une couleur de fond. Les valeurs possibles sont les mêmes que pour la propriété color plus la valeur transparent. (Valeur par défaut : transparent) background-image permet de spécifier une image de fond. La valeur est alors url("image") où image correspond au nom du fichier image ainsi que son chemin (image s utilise de la même manière que la valeur de l attribut href dans la balise a). Cette propriété prend la valeur none s il n y a pas d image de fond. (Valeur par défaut : none) 17

IUT de Villetaneuse background-repeat permet d indiquer, lorsque l image de fond est plus petite que la taille de l élément, si l image doit être répétée ou non. Les différentes valeurs possibles sont : repeat-x : l image doit être répétée horizontalement, repeat-y : l image doit être répétée verticalement, repeat : l image doit être répétée horizontalement et verticalement, no-repeat : l image ne doit pas être répétée. (Valeur par défaut : repeat) 2.2.4 Bordures et marges Il est possible de spécifier pour chaque balise une bordure et des marges intérieures et extérieures. La figure 2.1 montre à quoi correspondent les bordures, les marges intérieures et extérieures d un élément. margin top margin border top padding top border padding margin left border left padding left height CONTENU width padding right border right margin right padding bottom border bottom margin bottom Figure 2.1 Dimensions, bordures et marges 1 border permet de spécifier la bordure d un bloc. La valeur est constituée de trois éléments : la taille de la bordure, le style (trait plein, pointillés) et la couleur. La taille est donnée en pixels, le style par dotted (pointillés), solid (trait plein) ou dashed (tirets). La couleur est spécifiée de la même manière que pour l attribut color. La bordure d un paragraphe correspondant à un trait plein de 1 pixel de couleur bleu est alors donnée par : 1 p 2 { 3 border: 1px solid blue; 4 } Cette propriété prend la valeur none s il n y a pas de bordure. (Valeur par défaut : none) Si l on souhaite donner différentes valeurs pour les bordures haut, bas, gauche et droite, il faut alors utiliser les propriétés border-top, border-bottom, border-left ou border-right. 1. Image basée sur une image provenant du cours de Marcel BOSC. 18

Département informatique margin permet de définir la taille de la marge extérieure en pixels (px), en taille relative (em) ou en pourcentage. Si l on souhaite donner différentes tailles pour les marges extérieures haut, bas, gauche et droite, il faut alors utiliser les propriétés margin-top, margin-bottom, margin-left ou margin-right. La valeur de la taille d une marge peut également être la valeur auto. Dans ce cas, on laisse le navigateur déterminer automatiquement cette taille. Si les marges gauches et droites sont déterminées par le navigateur, alors ce dernier centre l élément. (Il faut cependant que la largeur (width) de l élément ait été fixée.) Donc, pour centrer les tableaux dans une page Web, il suffit d ajouter dans le code CSS : 1 table 2 { 3 width : 500px; 4 margin- left : auto; 5 margin- right : auto; 6 } Pour les éléments de type inline, seules les marges extérieures gauche et droite peuvent être définies. (Valeur par défaut : dépend des côtés (haut, bas, gauche, droite) et des éléments) padding permet de définir la taille de la marge intérieure en pixels (px), en taille relative (em) ou en pourcentage. Si l on souhaite donner différentes tailles pour les marges intérieures haut, bas, gauche et droite, il faut alors utiliser les propriétés padding-top, padding-bottom, padding-left ou padding-right. Pour les éléments de type inline, seules les marges intérieures gauche et droite peuvent être définies. (Valeur par défaut : 0 sauf pour la marge gauche pour les items d une liste) Remarque Les tailles des marges (internes et externes) et de la bordure ne sont pas prises en compte dans les valeurs des attributs width et height. Ainsi, si un bloc a une largeur (width) de 100 pixels, une marge intérieure de 10 pixels, une marge extérieure de 20 pixels et une bordure de 3 pixels, sa largeur totale est donc de 166 pixels. 2.2.5 Modifications liées aux listes et tableaux La première propriété est liée aux tableaux, les deux suivantes aux listes. border-collapse permet de spécifier si les cellules d un tableau sont collées (valeur collapse) ou non (valeur separate). (Valeur par défaut : separate) list-style-type définit le type de puces utilisées dans les listes non ordonnées : carré (valeur square), cercle (valeur circle), cercle plein (valeur dic) ou aucune puce (valeur none). Cette propriété permet également de spécifier la numérotation d une liste ordonnée : chiffres décimaux 1,2,.. (valeur decimal), chiffres romains en majuscules (valeur upper-roman), chiffres romains en minuscules (valeur lower-roman). (Valeur par défaut : decimal pour les listes ordonnées et disc pour les listes non ordonnées) list-style-image permet d utiliser une image pour représenter la puce d une liste non ordonnée. La valeur est donnée par url("fichierimage") où "fichierimage" représente le nom de l image et son chemin. Cette propriété prend la valeur none s il n y a pas d image de fond. Si une image est spécifiée, alors aucune puce n est affichée en plus de l image, quelle que soit la valeur de la propriété list-style-type. (Valeur par défaut : none) 19

IUT de Villetaneuse 2.2.6 Modification du type de la balise Il est possible de transformer une balise de type block en une balise de type inline et inversement. Pour cela, il faut utiliser la propriété display qui prend les valeurs suivantes : block : l élément devient de type block, inline : l élément devient de type inline, inline-block : l élément est de type inline, mais on peut lui appliquer les propriétés réservées aux balises de type block, permettant par exemple de spécifier une hauteur et une largeur. none : l élément n est pas affiché. Ceci revient à supprimer complètement l élément dans le code HTML. (Valeur par défaut : correspondant au type de la balise) 2.2.7 Positionnement Les éléments peuvent être positionnés différemment suivant les valeurs de la propriété position et de la propriété float. Les différents positionnements sont décrits dans la suite. Positionnement statique Par défaut, les éléments d une page Web sont affichés dans l ordre où ils apparaissent dans le code HTML. Cet ordre est appelé flux de la page HTML. Si la page HTML contient 1 <h1> titre </h1> 2 <p> paragraphe avec du texte <em> mis en valeur </em> et du texte <strong> 3 fortement mis en valeur </strong> </p> Le navigateur affiche d abord le titre, puis le paragraphe. Dans le paragraphe, il affiche d abord le texte mis en valeur puis le texte mis fortement en valeur. De plus, il revient à la ligne avant et après tout élément de type block. Par ailleurs, chaque élément de type block prend par défaut toute la largeur qu il peut, c est-à-dire toute la largeur de son conteneur. Tous les objets positionnés selon le flux sont dits positionnés de manière statique. La valeur de la propriété position est alors static. C est la valeur par défaut de cette propriété. Positionnement Relatif La valeur relative de la propriété position permet de déplacer l élément par rapport à la position qu il avait dans le flux. Le déplacement est spécifié par les propriétés top, bottom, left et right qui prennent comme valeur une distance donnée en pixels ou en pourcentage. Ce déplacement ne modifie pas l affichage des autres éléments du flux. De plus, l élément garde les mêmes dimensions et marges que s il avait été positionné avec la valeur static. Considérons le code HTML 1 <body> 2 <p> Paragraphe 1 </p> 3 <ul> 4 < li > Item 1 </li> 5 < li > Item 1 </li> 6 </ul> 7 <p> Paragraphe 2 </p> 8 </body> et le code CSS 1 body 2 { 3 width : 200px; 4 height : 200px; 20

Département informatique 5 border : 2px dashed black; 6 padding : 0; 7 margin : 50px; 8 } 9 10 ul 11 { 12 border : 1px solid silver ; 13 margin : 0; 14 background-color : silver ; 15 } 16 17 p 18 { 19 background-color : #717171; 20 border : 1px solid black; 21 } La figure 2.2 montre l affichage obtenu lorsque la liste non ordonnée est affichée avec la propriété position:static puis avec position:relative et les propriétés left:50px; et top:50px;. Figure 2.2 position égale à static puis relative. Positionnement Absolu Lorsqu un élément a position:absolute;, il est d abord retiré du flux. Tous les éléments du flux sont ensuite affichés. Finalement, l élément positionné de manière absolue est ajouté par la suite. Par défaut, cet élément est placé à l endroit où il aurait été placé dans le flux. Pour modifier 21

IUT de Villetaneuse son placement, on utilise les propriétés top, bottom, left ou right qui permettent de définir la distance par rapport au premier ascendant qui n est pas positionné de manière statique. Si tous les ascendants sont positionnés de manière statique, les distances sont données par rapport aux bords du navigateur. La largeur par défaut d un élément positionné de manière absolue est égale au minimum pour afficher le contenu de l élément. La figure 2.3 montre l affichage obtenu lorsque la liste non ordonnée est affichée avec les propriétés position:absolute;, right:10px; et bottom:10px;. Dans le premier cas, tous les autres éléments sont positionnés de manière statique. La liste est donc positionnée par rapport aux bords du navigateur. Dans le second cas, la balise body est positionnée de manière relative (sans déplacement). Le positionnement de la liste se fait alors par rapport aux bords de la balise body. Figure 2.3 Propriété position pour body égale à static puis relative. Positionnement fixe Le positionnement fixe (position:fixed;) d un élément est équivalent au positionnement absolu de cet élément, à la différence que le positionnement se fait toujours par rapport aux bords du navigateur. De plus, l élément reste à la même position, même en cas de défilement de la page Web. Objet flottant Il est possible de spécifier qu un élément est flottant, c est-à-dire qu il peut être entouré de texte (ou par d autres éléments), grâce à la propriété float. L élément est mis soit totalement à gauche (valeur left), soit totalement à droite (valeur right). 22

Département informatique Si l élément n est pas flottant, alors la valeur de la propriété est none. (Valeur par défaut : none) 2.2.8 Modification du curseur de la souris Il est possible de modifier le curseur de la souris au survol d un élément. Pour cela, il suffit d utiliser la propriété cursor qui peut prendre les valeurs pointer (le curseur est une main), help (le curseur est un point d interrogation), wait (le curseur prend la forme du symbole d attente), text (le curseur a la forme I, utilisée pour sélectionner du texte), url( chemin/nomimage.png ) ou auto. (Valeur par défaut : auto) 2.2.9 Spécification de l affichage en cas de dépassement L espace nécessaire pour afficher le contenu d un élément peut parfois être supérieur aux dimensions (largeur et hauteur) de cet élément. Dans ce cas, il est possible de spécifier comment afficher le contenu qui dépasse de l élément avec la propriété overflow. Si cette propriété a pour valeur visible, tout le contenu dépassant de l élément sera affiché (Il y a alors un risque de chevauchement). Si elle a pour valeur hidden, le contenu dépassant de l élément ne sera pas affiché. Si la valeur est auto, une barre de défilement sera ajoutée si cela est nécessaire. Dans ce cas, le contenu ne dépassera pas les dimensions de l élément. Il faudra utiliser la barre de défilement pour voir tout le contenu. (Valeur par défaut : visible) 1 <body> 2 <ul> À titre d exemple, considérons le code HTML suivant 3 < li > Premier point </ li > 4 < li > Deuxième point </li> 5 < li > Troisième point </ li > 6 < li > Quatrième point </li> 7 </ul> 8 </body> associé au code CSS suivant 1 ul 2 { 3 width : 100px; 4 height : 80px; 5 border : 1px solid red; 6 } Clairement, la liste non ordonnée ne peut pas s afficher entièrement dans un espace de 100 * 80 pixels. La gestion de l affichage de la liste dépend alors de la propriété overflow, comme montré dans la figure 2.4. Figure 2.4 Affichage de la liste avec la propriété overflow égale à visible, hidden puis auto. 23