Mon infobulle n'apparaît pas sous Firefox

Fermé
Ripley69 Messages postés 40 Date d'inscription dimanche 27 décembre 2015 Statut Membre Dernière intervention 6 juillet 2018 - 1 mai 2016 à 12:13
codeurh24 Messages postés 761 Date d'inscription samedi 29 mars 2014 Statut Membre Dernière intervention 8 septembre 2018 - 2 mai 2016 à 16:13
Bonjour,

je me permets de reposer ici une question qui n'a pas eu de réponse sur le forum spécialisé CSS.

Je crée un site sur lequel j'ai besoin de faire apparaître des commentaires liés à des images ou à des zones particulières d'une image. J'ai utilisé pour ce faire les indications de cette page :

http://www.css3create.com/Infobulle-avec-effet-de-transparence-en-CSS

Voici un extrait de mon code html, pour une zone :

<p>
		<link rel="stylesheet" href="feuille_style_mappage.css" />
		<div class="center">
	<img src="ciel_astral_carre.jpg" width="624" height="600" rel="lightbox" usemap="#ciel_astral_carre"/>
	<map name="ciel_astral_carre">
	<a href="#1">
	<area shape="rect" coords="205,253,397,436" href="#1" span class="hover" span class="focus" />
	<span id="#1"> blabla... commentaire sur l'image ou la zone mappée </span>
	</a>
</map>
	</div>
</p>



Ma page CSS :

a span
{
	position: absolute;
	text-align: justify;
	color: #FFFFFF;
	background-color: #858585;
	padding: 15px;
	box-shadow: 0 0 2px #000000;
	transform: scale(0) rotate (-12deg);
	transition: all .25s;
	opacity: 0;
}
a:hover span, a:focus span
{
	transform: scale(1) rotate(0);
	opacity: 1;
	background: #858585;
	box-shadow: 0 1px 0 #FFFFFF;
}


Quand j'ai vu que ça ne marchait pas avec hover j'ai essayé focus, ça ne marche pas non plus.

Il me faut préciser que ça fonctionne sur une image seule : on passe la souris, l'infobulle s'affiche à côté.

Quelqu'un aurait-il une solution ?

Du reste, étant sur Mac je n'ai pas essayé non plus avec Internet Explorer, j'espère que ça ne posera pas de problème.

Je remercie d'avance toute personne qui saurait m'aider pour ce problème :)

Configuration: Mac OS X (10.10.5) / Chrome 50.0.2661.86

3 réponses

codeurh24 Messages postés 761 Date d'inscription samedi 29 mars 2014 Statut Membre Dernière intervention 8 septembre 2018 123
1 mai 2016 à 12:51
Bonjour.
C'est quoi
<link rel="stylesheet" href="feuille_style_mappage.css" />
qui ce trouve dans le body a la place du head ?
Es ce que feuille_style_mappage.css c'est le css que tu nous montre ?

Peut-tu nous fournir l'image que tu souhaite mappé ?
http://www.hostingpics.net/

Je suis sur windows 10 pour les test.
0
Ripley69 Messages postés 40 Date d'inscription dimanche 27 décembre 2015 Statut Membre Dernière intervention 6 juillet 2018
1 mai 2016 à 13:22
C'est une feuille de style qui ne s'applique qu'à cette partie-là de la page. Sinon les options de présentation (police, background color...) s'appliquent au reste de la page, ça ne me va pas.
Et oui, c'est la feuille de style qui est donnée dessous. :)

Voici l'image :

[URL=http://www.hostingpics.net/viewer.php?id=220063cielastralcarre.jpg][IMG]http://img15.hostingpics.net/pics/220063cielastralcarre.jpg[/IMG][/URL]

Pour le fait d'avoir mis deux fois "class", c'est un essai pour voir la classe "focus" fonctionnait lorsque j'ai constaté que ce n'était pas le cas pour "hover".
Le span est a priori fait pour indiquer le texte qui doit apparaître dans mon infobulle...
0
codeurh24 Messages postés 761 Date d'inscription samedi 29 mars 2014 Statut Membre Dernière intervention 8 septembre 2018 123
1 mai 2016 à 13:03
La structure map n'est pas respecter donc firefox n'est pas obliger de comprendre ce que tu lui demande. ta de la chance que certain navigateur arrive a te comprendre.

Que fait des attributs nomé span dans la balise area ?
Pourquoi avoir mis 2 fois l'attribut class dans la balise area ?
0
codeurh24 Messages postés 761 Date d'inscription samedi 29 mars 2014 Statut Membre Dernière intervention 8 septembre 2018 123
1 mai 2016 à 17:17
rebonjour, je tes fait ça.
https://jsfiddle.net/zj4ctng7/
j'ai tester firefox, chrome, IE 11 et edge = ok
et safari c'est moche car il supporte pas grand chose.

C'est un code que tu peu améliorer en fonction des id dans le js
0
Ripley69 Messages postés 40 Date d'inscription dimanche 27 décembre 2015 Statut Membre Dernière intervention 6 juillet 2018
2 mai 2016 à 10:56
Merci, je viens de regarder ça un peu en détail.

Je n'aime pas beaucoup Safari non plus mais il se trouve que c'est le navigateur par défaut de beaucoup des gens pour qui/avec qui je travaille (qui ne sont pas des flèches en info...).
J'ai vu que tu utilisais onmousemove et onmouseleave, je ne les connaissais pas et ne les ai trouvées nulle part, je vais donc essayer mais elles ont l'air de fonctionner oui. Et je découvre aussi le "testeur" de code, merci pour ça aussi !
0
Ripley69 Messages postés 40 Date d'inscription dimanche 27 décembre 2015 Statut Membre Dernière intervention 6 juillet 2018
2 mai 2016 à 15:56
Après avoir regardé plus en détail, je dois avouer que je ne comprends pas du tout la fin de la page : je suppose que c'est du script ? Je ne maîtrise absolument pas... Aussi j'ai peur de faire des sottises.
Penses-tu que je puisse obtenir quelque chose de satisfaisant en changeant d'abord mes balises "hover" au profit de celles mentionnées plus haut ?
Sinon, peux-tu m'expliquer la fonction et l'utilisation de "mytooltip" ?

En tous les cas, merci de ton intérêt !
0
codeurh24 Messages postés 761 Date d'inscription samedi 29 mars 2014 Statut Membre Dernière intervention 8 septembre 2018 123
2 mai 2016 à 16:13
Ce que j'appel "mytooltip" c'est l'identifiant de l’élément html que tu voie en tant que infobule. Elle est caché au debut en opacity 0 a la difference de 1 = opaque.

Le script que je tes fourni n'est pas du tout optimisé, il y a plein de petite chose a améliorer comme par exemple opacity permet de mettre de la transparence en pourcentage (0 a 1)
mais il ne cache pas vraiment l'infobule car elle prend toujours de la place même en transparent. j'aurais du ajouter un display:none; ect ...
Mais si tu t’intéresse au javascript et le css tu peux améliorer tout ça.

Si tu casse le script (javascript (js) ) tu aura juste a faire un ctrl + z et ctrl + s.

tu peux déboguer pour comprendre qui intervient avec quoi avec console.log ...
0