Plein de lien sur une image de fond

iknabes

Membre actif
2 Octobre 2006
181
1
Bonjour, bonjour,

Des jours de recherches, de bidouilles html mais la je n'y arrive pas, donc un petit coup conseil eclairé s'il vous plait.

Donc voila, le but n'est pas de creer un site a proprement dit mais une page support de revision pour mes eleves, mais egalement pour moi-meme avec plein de point lien avec leur definition corerspondante.
L'idee est plutot de pouvoir le visualiser sur mon ipad et ipod sans vraiment creer une application, juste de l'html et css.

Je joins 2 images pour expliquer ce que j'aimerais faire:
une page principale avec les differents point lien place sur le corps et lorsque l'on clique sur un lien, une nouvelle page avec juste le point, la ref et la definition correpondante apparaissent. :siffle:

page principale:
http://synergology.jp/principale.jpg
et la page de lien exemple:
http://synergology.jp/lien.jpg

(on ne peut plus inserer d'image directement dans la discussion??)

Et voici un bout de mon codage laborieux de debutant:rose: que j'ai fait pour placer mes points et faire les liens sur une nouvelle image; malheureusement ca ne marche pas car evidement fait comme ca, lorsque je fais disparaitre les points pour n'en garder qu'un tout se decale. ( m'en suis bien sur apercu une fois avoir tout placé:D)




html
{
margin: 0;
padding: 0;

}


body
{
width:950px;
height:1307px; /*ne pas oublier de rajouter 20px en top pour tous les points*/
margin: 0px auto;
background-color:white;
background-image:url(image/corps.jpg);
background-repeat:no-repeat;
background-position:center center;

}

#A_1_P0_D, #A_1_P1_D, #A_1_P2_D, #A_2_P0_D, #A_2_P1_D, #A_2_P2_D
{
display:block;
}

#A_1_P0_D
{
margin:264px 0 0 492px;
width:13px;
height:13px;
position:absolute;

}

#A_1_P1_D
{
margin:-25px 0 0 -31px;
width:13px;
height:13px;
position:absolute;

}


#A_1_P2_D
{
margin:-14px 0 0 49px;
width:13px;
height:13px;
position:absolute;

}

#A_2_P0_D
{
margin:30px 0 0 -3px;
width:13px;
height:13px;
position:absolute;
}


#A_2_P1_D
{
margin:-11px 0 0 -47px;
width:13px;
height:13px;
position:absolute;
}


#A_2_P2_D
{
margin:-10px 0 0 86px;
width:13px;
height:13px;
position:absolute;
}
.....


<!DOCTYPE html>

<html lang="fr">
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="point_du_corps.css">
<title>Microdemangeaisons du corps</title>
</head>

<body>


<div id="A_1_P0_D"><a href="A_1_P0_D.html"><img src="image/point.png"/>
<div id="A_1_P1_D"><a href="A_1_P1_D.html"><img src="image/point.png"/>
<div id="A_1_P2_D"><a href="A_1_P2_D.html"><img src="image/point.png"/>
<div id="A_2_P0_D"><a href="A_2_P0_D.html"><img src="image/point.png"/>
<div id="A_2_P1_D"><a href="A_2_P1_D.html"><img src="image/point.png"/>
<div id="A_2_P2_D"><a href="A_2_P2_D.html"><img src="image/point.png"/>
<div id="A_2_P10_D"><a href="A_2_P10_D.html"><img src="image/point.png"/>
<div id="A_2_P3_D"><a href="A_2_P3_D.html"><img src="image/point.png"/>
<div id="A_2_P4_D"><a href="A_2_P4_D.html"><img src="image/point.png"/>
<div id="A_3_P0_D"><a href="A_3_P0_D.html"><img src="image/point.png"/>
<div id="A_3_P1_D"><a href="A_3_P1_D.html"><img src="image/point.png"/>


Ne rigolez pas s'il vous plait:rateau:

Une petite suggetion pour m'aider?
merci d'avance:love:
 
J'avouerais ne rien y connaître, mais j'ai déjà été confronté à ce problème-là, et on était passé avec ça :
<area href="javascript:OuvrirPopup('blabla.html', '', 'resizable=no, location=no, width=760, height=390, menubar=no, status=no, scrollbars=no, menubar=no')" alt="Rechercher" title="Titre" shape="RECT" coords="230,1,570,62">
Ok, y'a du JS, m'enfin...
 
Merci Larme:D

Bon moi non plus je n'y comprends pas trop mais je vais me pencher sur ce que tu m'envoies et vais faire plusieurs essaie afin d'essayer d'en comprendre le fonctionnement :rateau:

Je n'ai rien contre le Js des l'instant que c'est tout pret :love: à copier-coller


Bon, ..y des chances que je reviennes quand meme pour des demandes:siffle::D
 
Dernière édition:
Effectivement une couche map avec des area sur ton image peut faire l'affaire, il faut voir que tu veux utiliser ça avec du multitouch. Aujourd'hui il existe plein de choses dans ce sens en javascript (jQuery mobile), un module Tooltips peut t'éviter de quitter le "sommaire" pour afficher les "pop-up" d'explication.

Je pense notamment Tipped qui est simple d'usage dans tous les cas (desktop et mobiles).

Mais une bidouille map + pop-up sur calque masqué peut faire l'affaire (un exemple ici) mais en fait tu n'as pas besoin de "zones" dessinées, le points font office de lien donc tu gardes ton bazar et tu ajoutes juste des éléments masqués affichés au clic (javascript obligatoire) un autre exemple mais sans javascript, note que dans un navigateur normal (desktop) le simple survol du point affiche la boîte, sut iPad il faut cliquer pour le voir.

Tout dépend du contenu à afficher.

Exemple de code pour la première carte :
<map id="carteRONDE_01_Map" name="carteRONDE_01_Map">
<area onmouseup="changeImages('carteRONDE_01', 'images/carteRONDE_01-Gironde_over.jpg'); return true;" true;""="" "="" return="return" ;="" onmousedown="MM_showHideLayers('Layer1','','show');MM_showHideLayers('Layer2','','hide','Layer3','','hide','Layer4','','hide','Layer5','','hide')" onmouseout="changeImages('carteRONDE_01', 'images/carteRONDE_01.jpg'); return true;" onmouseover="changeImages('carteRONDE_01', 'images/carteRONDE_01-Gironde_over.jpg'); return true;" title="Cliquer pour afficher la liste des librairies du département" href="#" coords="125,157, 165,42, 184,73, 193,79, 203,74, 222,108, 237,108, 246,114, 236,131, 237,142, 255,142, 253,153, 236,152, 236,166, 220,177, 220,195, 203,207, 188,207, 174,172, 145,166, 145,153" alt="Gironde" shape="poly">
</map>
<div id="Layer1" style="visibility: visible;">
<p>Ton contenu ici</p>
<p>Explications</p>
<p class="fermer"></p>
</div>
On utilise là un peu de javascript pour charger les images à l'ouverture et gérer l&#8217;affichage des calques masqués avec ceci :
function MM_showHideLayers() { //v6.0
var i,p,v,obj,args=MM_showHideLayers.arguments;
for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args))!=null) { v=args[i+2];
if (obj.style) { obj=obj.style; v=(v=='show')?'visible': (v=='hide')?'hidden':v; }
obj.visibility=v; }
}


Dans l'autre cas c'est plus simple car c'est un jeu CSS (mais là l'accessibilité est nulle), voici les règles pour les "pop-up" sur les points :
/* feuille de style pour la carte géographie */
#btn {
width: 25px;
height: 25px;
background: url(../images/btn_carte.gif) left bottom no-repeat;
background-repeat: no-repeat;
background-position: left top;
background-color: transparent;
position: absolute;
}
#btn a:link, #btn a:visited {
display: block;
width: 100%;
height: 100%;
text-decoration: none;
background-image: url(../images/btn_carte.gif);
background-repeat: no-repeat;
background-position: left bottom;
}
#btn a:hover, #btn1 a:active { /* masquage de l'image1 au survol */
background: transparent none;
}
#btn a span { /* définition de la balise <span> inclue dans <a> */
display: none;
}
#btn a:hover span {
display: block;
font-size: 0.75em;
line-height: 1.3em;
padding: 8px;
border: 2px solid #5dcefd;
position: absolute;
background-color: #FFFFFF;
color: #333333;
z-index: 100;
}

Il y a un jeu de transparence du fond pour le changement du bouton au survol.

Si tu merdois contacte-moi en MP. :p :cool: :D
 
Dernière édition:
MERCI MOMOOOO!!!:up::D

Bon, je comprends rien, du moins juste le principe par les liens exemples , mais je regarde tout ca et vais faire mes essais:rateau:
donc si je merdois je te MP:D, merci d'avance

Juste avant de commencer, qu'entends tu par accessiblite nulle?
"Dans l'autre cas c'est plus simple car c'est un jeu CSS (mais là l'accessibilité est nulle)"

Bon, je vais manger, et apres vais jouer avec le copier coller de ces jolies lignes de codes:rolleyes:

a plus
 
C'est le principe de la fonction "display:none" qui masque un élément dans l'affichage, impossible de le "voir" sans aller dans le code puisque c'est les CSS qui le masquent. Tu trouveras plein de discussions à ce sujet (et plein d'ailleurs sur l'accessibilité&#8230;).

Bon, dans ton cas rien de grave&#8230; amuses-toi bien. :cool: :D
 
Merci docteur!:D



euh...ben c'est pas gagné...:rose:
;)

je ne vois pas du tout ou se fais le positionnement des points:confused:

je m'amuse! je m'amuse...:rateau:

Ah je viens de penser a regarder dans le code source de la 2eme page: c'est donc dans le code html que l'on positionne les points. Je ne savais pas que c'etait possible comme cela. J'apprends 1 chose:up:

Mais la, je ne vois pas le petit bout de code qui permet de commander la disparition de l'ensemble des points sauf celui selectionne?:confused:
 
Dernière édition:
Mais la, je ne vois pas le petit bout de code qui permet de commander la disparition de l'ensemble des points sauf celui selectionne?:confused:
A là ce n'est pas prévu.

Il faudrait :
- Soit programmé un bout de javascript qui met en display:none les autres points sauf celui sélectionné

- Soit revoir tout ça avec une page pour chaque présentation (ça va te faire un peu plus de taf mais c'est faisable).

Réfléchit au déroulé le plus logique et ergonomique avant de tout faire car tu pourrais avoir :

- Page sommaire (visuel avec chaque zone du corps en texte - titres)

- Je clique sur le mot "cou" et j'arrive sur une page avec seulement les points de cette zone et là j'utilise la solution du survol

Ça pourrait fonctionner comme ça… non ?

A noter que les points peuvent être plus atténués au départ et bien visible au survol.

A creuser. :cool:
 
Bonjour Momo-fr,

Je reviens apres un peu de temps. Effectivement, grace a tes retours j ai pu enfin faire ce queje voulais realiser. J'ai copie des petits bout de codes des pages exemples que tu m a envoye et maintenant ca va, j' ai le cheminement.

Effectivement, j en etais venu a la conclusion que je devais creer une page pour chaque point-lien, ca prend un peu de temps mais au moins ca, je peux faire; ton dernier messagema rassure dans ma conclusion donc je te remercie et teremercie pour ton aide.

Je reviendrais surement avec d autre question;)
Par exemple pourquoi mon image que je place en aside float droit fonctionne sur l ordi, ipod mais ce positionne a gauche sur l ipad par exemple :siffle:

A bientot