Accueil Accueil     Membres Membres     Forum Forum     Articles Articles     Download Download     Sondages Sondages     Outils Outils     Scriptland Scriptland     ProgBoards ProgBoards     Morbleu ! Morbleu !  FR  
 
Cours de programmation, code source, aide au développement, forums d'entraide - CybWarrior

login Bug Contact RSS
login bug contact RSS


| Internet |
   Créer son site web

| Langages |
   HTML
   JavaScript
   Langage C
   PHP
   QBasic
   Turbo Pascal

| Programmation |
   Algorithmie
   Maths appliquées
   Windows

| Trucs & astuces |
   Lexique
   Oeufs de Pâques (easter eggs)
   Registre et Windows

| Téléchargements |
   Flash
   Freeware
   JavaScript
   NASM
   PHP
   QBasic
   Turbo Pascal
   Visual Basic / VBScript

HTML - Les images réactives

Autre langage disponible pour cet article : FR
Rubrique : HTML
lundi 25 mars 2002 18:38

Voir les commentaires pour HTML - Les images réactives
Autres articles :
- HTML - Introduction à l'HTML
- HTML - Structure d'un document HTML
- HTML - Le texte
- HTML - Mise en forme sommaire du texte
- HTML - Les titres et sous-titres
- HTML - Les attributs
- HTML - Le texte préformaté
- HTML - Les commentaires
- HTML - Les entités de caractère
- HTML - Les liens
- HTML - Les images
- HTML - Les listes
- HTML - Tableaux
- HTML - Les cadres (FRAMES)
- HTML - Les formulaires
- HTML - Les méta-informations et le réferencement
- HTML - Formatage poussé du texte
- HTML - Les feuilles de style
- HTML - Les couleurs
- HTML - Les images réactives
- HTML - Le son
- HTML - Et le reste...
- HTML - Les objets
- HTML - Les effets de transitions avec Microsoft Internet Explorer
<< - >>

Une image réactive permet d'associer des liens à des parties bien déterminées d'une image.
Une image réactive est composée de deux choses :
  • L'image proprement dite, incluse de manière classique avec la balise <IMG>
  • Un certains nombre de balises qui vont définir la découpe de l'image
Prenons par exemple la photo du "Pirate" ci-dessous (tirée du LIVRE D'OR DU CYCLISME 1998 - Jean-François Quénet - Editions SOLAR. Numérisée à l'aide du bôôô scanner que Papa Noël m'a offert :-) :

Marco Pantani


Nous allons la découper en plusieurs parties :
  • La roue avant
  • Le guidon
  • La selle
  • Le pédalier
La découpe est consignée à l'intérieur de la balise du type conteneur <MAP>. En Anglais, Map veut dire Carte.
En gros, c'est ce que l'on va faire, en spécifiant des zones à l'intérieur.
Les choses sont tout de mêmes bien faites, puisque zone ce dit Area en anglais, et c'est justement la balise du même nom (<AREA> est du type marqueur) que l'on va utiliser.
La balise <AREA> posséde 6 attributs :
  • shape definit la forme de la zone. Il en exite 3 :
    • circle pour un cercle
    • rect pour un rectangle
    • polygon pour un polygone
  • href indique le lien à suivre quand la zone est clickée
  • coords définit les coordonnées de la zone, suivant la forme désignée par l'attribut shape :

    Attribut coords suivant la forme utilisée
    Forme Coordonnées Exemple
    circle X,Y,R <AREA shape=circle area="5,10,5">
    <!-- 5 pixels sur X, 10 pixels sur Y, 5 pixels de rayon -->
    rect X1,Y1,X2,Y2 <AREA shape=rect area="5,10,20,25">
    <!-- Coin supérieur gauche: 5 pixels sur X, 10 pixels sur Y
    Coin inférieur droit: 20 pixels sur X, 25 pixels sur Y -->
    polygon X1,Y1,...,Xn-1,Yn-1,Xn,Yn <AREA shape=polygon area="0,15,5,10,10,15,5,20">
    <!-- 1er coin: 0 pixels sur X et 15 pixels sur Y
    2ème coin: 5 pixels sur X et 10 pixels sur Y
    3ème coin: 10 pixels sur X et 15 pixels sur Y
    4ème coin: 5 pixels sur X et 20 pixels sur Y -->

  • target definit la cible où doit être ouvert le lien
  • alt permet d'ajouter une info-bulle, comme pour la balise <A>
  • nohref est booléan (il se suffit à lui même). Il est utilisée lorsqu'on ne veut pas associer de lien à une zone, pour des scripts par exemple
Pour définir les zones, on peut le faire manuellement, ou bien via un programme spécialisé.
Au final, voici ce que j'obtiens :
<MAP name="Marco">
<AREA shape=circle coords="270,336,75" nohref alt="Est-ce des boyaux ou des pneus ?">
<AREA shape=rect coords="36,198,102,217" nohref alt="La magnifique selle du Pirate!">
<AREA shape=circle coords="137,350,23" nohref alt="Un braquet Enooorme de 53 dents!">
<AREA shape=polygon nohref alt="Les mains en bas du guidon : quel style !" 
coords="201,221,234,193,256,196,269,189,284,228,241,231,242,262,199,270">
</MAP>
Vous remarquez que je n'ai pas utiliser l'attribut href, mais l'attribut nohref comme je n'utilise pas de liens mais juste les infos-bulles.
La balise <MAP> ne posséde qu'un seul et unique attribut : name. Il sert à identifier la carte. Ici, on l'a appelée 'Marco'.
Cette section <MAP> peut être placée n'importe où dans la section <BODY>.
L'image est incluse dans le document comme n'importe quelle image : avec la balise <IMG>. Seul petite modification : il faut ajouter l'attribut usemap, avec le nom de la carte à utiliser, précédé du caractère dièse (#), comme pour les liens dans la même page avec la balise <A>.
Au final, notre document devient :
<MAP name="Marco">
<AREA shape=circle coords="270,336,75" nohref alt="Est-ce des boyaux ou des pneus ?">
<AREA shape=rect coords="36,198,102,217" nohref alt="La magnifique selle du Pirate!">
<AREA shape=circle coords="137,350,23" nohref alt="Un braquet Enooorme de 53 dents!">
<AREA shape=polygon nohref alt="Les mains en bas du guidon : quel style !" 
coords="201,221,234,193,256,196,269,189,284,228,241,231,242,262,199,270">
</MAP>
<IMG src="http://www.multimania.com/html/margo.jpg" usemap="#Marco">
Note : pour le résultat affiché, j'ai modifié le code est substitué l'attribut nohref par l'attribut href pour bien voir les zones lorsque l'on clique dessus.
Voici le résultat :

Est-ce des boyaux ou des pneus ? La magnifique selle du Pirate! Un braquet Enooorme de 53 dents! Les mains en bas du guidon : quel style ! Marco Pantani

Voir les commentaires pour HTML - Les images réactives
 09 juillet 2009 | Version 4.0.0 | © 2001 - 2007