Bonjour,
Afin de pouvoir utiliser de manière plus conviviale les info bulles, je ne me sers pas de l'attribut "Title" des balises "a" mais plutot une astuce CSS utilisant les "hover".
Voici ce que je veux faire:
J'ai une image animée (.gif) sur laquelle je souhaite faire des infobulles sur diverses parties.
Sans utiliser les infobulles, j'incluais mon image dans la page de la facon suivante :
<center><img src="mon_image.gif" border="0"></center>;
L'animation tourne en boucle, l'image fait 1,3 Mo. Si l'image n'a pas encore été chargée en mémoire, son affichage est saccadé pendant le premier cyle. Puis tout est fluide.
Désormais, j'utilise une méthode trouvée sur le forum d'alsacréations:
et le php:
Cela me permet d'afficher en fond mon image, et d'avoir une zone sensible au passage de la souris.
Mais à cela, j'ai deux problèmes:
- Si je ne mets pas de "href" dans la balise <a>, IE, contrairement à firefox, ne m'affiche pas l'infobulle. Cela me pose problème car je ne veux pas mettre d'action au clic. Si vraiment, on est obligé de mettre le href, est il possible de changer le pointeur de la souris pour que l'utilisateur ne voit pas la "main" lui indiquant le clic possible ?
- L'image ne se charge plus comme avant sous IE. Désormais, l'image est chargée en background! Sous Firefox, l'affichage se fait comme avant (saccadé le premier cycle, puis fluide). Sous IE, l'animation GIF n'apparait pas tant que la totalité de l'image n'est pas chargée.
Pour corriger le seconde problème, je me disais que peut etre que je pourrais retirer le background et placer l'image dans la balise <img> comme avant:
Par contre, la zone sensible est alors située en dessous de l'image et non plus dessus comme avant. Je ne sais pas comment corriger ce probleme. J'ai essayé de mettre l'image en float par exemple, mais ca ne corrige pas.
Quelle solution adopter selon vous ?
Merci.
Modifié par lhpp (10 Nov 2006 - 13:10)
Afin de pouvoir utiliser de manière plus conviviale les info bulles, je ne me sers pas de l'attribut "Title" des balises "a" mais plutot une astuce CSS utilisant les "hover".
Voici ce que je veux faire:
J'ai une image animée (.gif) sur laquelle je souhaite faire des infobulles sur diverses parties.
Sans utiliser les infobulles, j'incluais mon image dans la page de la facon suivante :
<center><img src="mon_image.gif" border="0"></center>;
L'animation tourne en boucle, l'image fait 1,3 Mo. Si l'image n'a pas encore été chargée en mémoire, son affichage est saccadé pendant le premier cyle. Puis tout est fluide.
Désormais, j'utilise une méthode trouvée sur le forum d'alsacréations:
#zone1
{
float: left;
width : 80px;
height: 153px;
margin-left: 80px;
margin-top: 333px;
}
#anim a
{
text-decoration:none;
}
#anim_soleil
{
width : 500px;
height: 500px;
background: url("mon_image.gif") top left no-repeat;
}
#anim a
{
text-decoration:none;
}
#anim a:hover
{
color:white;
background: none;
}
#anim a span
{
display:none;
width:150px;
margin-top:50px;
margin-left: 25px;
padding: 2px 5px 2px 5px;
text-align:justify;
background-color:#fffcc5;
color:#1278A9;
border: 1px solid #ffb515;
}
#anim a:hover span
{
position: absolute;
text-align:justify;
display:inline;
}
et le php:
<div id="anim_soleil">
<a id="zone1" href="?"><span>Texte de l'infobulle</span></a>
</div>
Cela me permet d'afficher en fond mon image, et d'avoir une zone sensible au passage de la souris.
Mais à cela, j'ai deux problèmes:
- Si je ne mets pas de "href" dans la balise <a>, IE, contrairement à firefox, ne m'affiche pas l'infobulle. Cela me pose problème car je ne veux pas mettre d'action au clic. Si vraiment, on est obligé de mettre le href, est il possible de changer le pointeur de la souris pour que l'utilisateur ne voit pas la "main" lui indiquant le clic possible ?
- L'image ne se charge plus comme avant sous IE. Désormais, l'image est chargée en background! Sous Firefox, l'affichage se fait comme avant (saccadé le premier cycle, puis fluide). Sous IE, l'animation GIF n'apparait pas tant que la totalité de l'image n'est pas chargée.
Pour corriger le seconde problème, je me disais que peut etre que je pourrais retirer le background et placer l'image dans la balise <img> comme avant:
<div id="anim_soleil">
<center><img src="mon_image.gif" border="0"></center>;
<a id="zone1" href="?"><span>Texte de l'infobulle</span></a>
</div>
Par contre, la zone sensible est alors située en dessous de l'image et non plus dessus comme avant. Je ne sais pas comment corriger ce probleme. J'ai essayé de mettre l'image en float par exemple, mais ca ne corrige pas.
Quelle solution adopter selon vous ?
Merci.
Modifié par lhpp (10 Nov 2006 - 13:10)