L'éditeur JavaScript
Visiteur non-identifié | Identifiez-vous | Devenir membre
Code perdu ? | Combien de visiteurs sur votre site ?
Rechercher :
Page d'accueil
     Home Page

JavaScript
     Tous les scripts
     Proposer un script
     Recherche de script
     AJAX new!
     Cours de JavaScript
     Liste de discussion
     Forums

Services :
     CountUs
     myCircle

     Referencement
     Créat. de bannière

Trucs et astuces :
     HTML / CSS
     PHP / MySQL
     Réferencement
     Graph / Présentation
     Toutes les astuces
     Ajouter un article

MailingList :
101230 abonnés

Annuaire webmaster :      Hebergement web
     Referencement
     Sites webmasters
     XHTML - CSS2
     PHP
     Affiliation - Pub
     FAI

     Annuaire webmaster

Ressources pour webmasters :
     Kits graphiques

Plus :
     Comparateur de prix
     Foire aux questions
     Les membres
     Devenir annonceur
     Faire un lien
     Contact

Partenaire :
     Hebergement gratuit
     Le PHP facile
     Horoscope
     Comscripts
     WebmasterClub
     Activeartanima...
     Le village de ...
     L'écriteau
     Faro-dessing
     Images gifs an...
     Netsources
     Easy-script.com
     K i s s design
     Création de site
     Créer son site...
     Les autres
     Votre site ici ?


Article posté par : Arkangel
Date de mise en ligne : 25-07-2006
Niveau : Assez facile
>> Ajouter un article

Il est possible d'utiliser le CSS pour rendre une image réactive (mapping).

Cela évite les longs calculs de coordoonées des quatres coins de chaque map et le temps perdu si on ne possède pas un logiciel qui ne calcule pas tout ça à votre place.

Pour ce faire on va donner à la balise "a" des dimensions et une position sur une image en arrière-plan.

On donne les dimensions voulues à la zone et on la place comme souhaité en utilisant les marges par exemple.

Vous pouvez évidemment placer plusieurs zones réactives sur la même image.

Exemple

Il s'agit d'un exemple avec une zone réactive. Pour plusieurs zones il faudra répéter le code de la zone1 avec d'autres dimensions et un autre nom (zone2 etc...)

Le code





<html >
<head>
<title>image maps en CSS</title>
<style type="text/css">
.image { /* bloc concernant l'image en arrière-plan */
width : 576px;
height: 432px;
background: url(monimage.jpg) top left no-repeat;
}
.zone1 { /* zone cliquable */
float: left; /* permet de donner une dimension à la balise a qui est une balise en ligne */
width : 150px;
height: 100px;
margin-left: 220px;
margin-top: 30px;
border: 1px dotted white; /* ajouté pour visualiser la zone*/
}

</style>
</head>
<body>

<div class="image">
     <a class="zone1" href="#" title="zone 1 zoom"></a>
     </div>
<p>La zone cliquable a été volontairement entourée d'une bordure pour pouvoir les visualiser.</p>
</body>
</html>



Annotations des visiteurs :

De CodeKiller - le 28-04-2007

Le seul problème est que ça ne va fonctionner qu'avec des zone rectangulaire, hors en général le but des "maps" est justement de rendre par exemple un cercle, un triangle ou autre, "cliquable"...

Imagine si t'es webmaster et que tu utilises ta technique...ça m'étonnerait que ton patron apprécie ta "fainéantise".
D'ailleur pour avoir simplement des coordonnés, tu ouvres l'image avec MSPAINT et tu palces ton curseur de souris où tu veux...après ça reste des copier/coller de code html...pas vraiment long...à mon avis ça doit même être moins long que de taper tout le css avec les valeurs qui vont bien...

Après si t'es courageux tu places les coordonnées dans un tableau Excel histoire de pouvoir avoir un "apperçu".
De kaskoyu - le 16-01-2007

<SCRIPT LANGUAGE=JavaScript>
alert('ok')
</SCRIPT>
De kaskoyu - le 14-01-2007

<html >
<head>
<title>image maps en CSS</title>
<style type="text/css">
.image { /* bloc concernant l'image en arrière-plan */
width : 576px;
height: 432px;
background: url(monimage.jpg) top left no-repeat;
}
.zone1 { /* zone cliquable */
float: left; /* permet de donner une dimension à la balise a qui est une balise en ligne */
width : 150px;
height: 100px;
margin-left: 220px;
margin-top: 30px;
border: 1px dotted white; /* ajouté pour visualiser la zone*/
}

</style>
</head>
<body>

<div class="image">
<a class="zone1" href="#" title="zone 1 zoom"></a>
</div>
<p>La zone cliquable a été volontairement entourée d'une bordure pour pouvoir les visualiser.</p>
</body>
</html>
De Arkangel - le 09-10-2006

non la variable block permet de disposer un menu ligne en bloc or ici on parle de définir une zone cliquable sur une image.

La balise <A> étant par défaut en ligne, on utilise float pour permettre la délimitation de la zone cliquable (hauteur et largeur)
De OKKO - le 20-09-2006

c'est pas plutôt : display:block qui transforme une balise en ligne en block.
Float fait juste quitté le flux

>> Poster une annotation sur cette astuce

Retour à la liste des trucs et astuces





44 visiteurs
actuellement en ligne

    PUBLICITE



     ANNUAIRE WEBMAST.
1and1
Tout simplement le leader mondial de l'hebergement ! A partir de 1 € par mois, avec des services vraiment sympas.
http://www.1and1.fr
Cat : Hebergement web
Voir l'annuaire webmaster


     LES SCRIPTS :
78 à éditer
68 à copier/coller
247 des membres
2580 sur le web
>> Tous les scripts

     LES MEMBRES :
54457 membres
9046 comptes CountUs
1424 comptes myCircle

     LES FORUMS :
14 forums
39091 topics
188390 messages
>> Les forums

    SONDAGE

Vous avez un blog ou site classique ?
Un blog
Un site classique
Les deux !
La mini-astuce "PHP / mySQL" du jour par unreal
Afin d'éviter de toujours devoir mettre des antislash '\' dans son code HTML à l'interieur de sa page PHP, vous pouvez utiliser la fonction addslashes qui les ajoutent automatiquement! http://ca2.php.net/manual/fr/function.addslashes.php
Proposer votre mini-astuce | Archives des mini-astuces
© 1999-2008 K-NETWORK - Tous droits réservés | CNIL N° 844440 | 24/07/2008 12:08:57 | Design by Studcrea | Gen. en 0.45 sec.