Eklablog : Javascript, CSS, HTML et astuces diverses
Une info-bulle est un texte qui s'affiche généralement lorsqu'on survole un élément de la page.
Cela permet d'ajouter des petits textes d'aide ou d'information.
On les utilise par exemple sur les liens : pour voir une info-bulle, survolez ce texte.
L'info-bulle ci-dessus est écrite dans l'attribut title du lien.
Il n'est pas spécifié dans la norme que cet attribut doit être affiché sous forme d'info-bulle mais c'est généralement le cas dans la plupart des navigateurs.
Cependant c'est très limité, on ne peut pas faire grand chose de plus que d'afficher un texte non formaté, et il faut passer en éditeur de code source pour ajouter l'attribut.
Vous avez peut-être déjà lu la possibilité d'ajouter des info-bulles plus évoluées en utilisant Help.bubble (par exemple ici) mais cela nécessite l'activation de Javascript pour votre compte.
Nous allons dans cet article mettre en place des info-bulles uniquement avec du code CSS, donc utilisables sur tous les blogs.
Encore plus intéressant, il sera possible d'ajouter des info-bulles sans même aller dans le code source HTML !
Un petit exemple :
Voici une première info-bulleCeci est une info-bulle
sur deux lignes suivie d'une deuxième info-bulleEt voici une autre information avec du gras !.
Survolez les textes ci-dessus en bleu sur fond jaune pour voir apparaître des informations.
Ces info-bulles ont quelques limitations et inconvénients :
En contrepartie, il est possible de les mettre en place même si vous n'avez pas activé le Javascript pour votre profil.
Commencez par ajouter à votre blog le code CSS nécessaire.
On verra plus bas comment ce code fonctionne et comment le personnaliser.
Le code CSS doit être ajouté dans le menu « Apparence » => « Modifier le thème » => « Ajouter du CSS ».


Copiez-collez le code affiché ci-dessous dans la fenêtre d'édition CSS (à l'emplacement du cadre jaune montré ci-dessus), puis cliquez sur le bouton « Appliquer et Sauvegarder ».
Code CSS pour les info-bullesTout sélectionner
/* Début CSS info-bulles */
a[href="#mabulle"] /* texte du lien */
{
text-decoration:none; /* pas de soulignement */
background-color:#FFFFAA; /* couleur surlignée */
color:darkblue; /* couleur du texte */
}
a[href="#mabulle"]:hover /* texte du lien survolé */
{
cursor:help; /* curseur souris */
}
a[href="#mabulle"] + sub /* texte d'info en indice après le lien */
{
bottom:auto; /* Corrige le positionnement du sub */
line-height:inherit; /* Corrige la taille de ligne du sub */
display:none; /* pas d'affichage avant le survol */
position:absolute; /* position absolue pour que la bulle soit positionnée hors du texte */
font-size:inherit; /* hérite de la taille du texte du lien */
color:darkblue; /* couleur du texte d'info */
text-align:justify; /* alignement du texte justifié */
-moz-border-radius:10px; /* bordure arrondie 10px de rayon */
-webkit-border-radius:10px;
border-radius:10px;
margin:10px 10px; /* marge extérieure haut et gauche, décale l'info-bulle vers le bas et à droite */
padding:10px; /* marge intérieure de 10px */
padding-left:50px; /* marge intérieure gauche de 50px pour laisser de la place à l'image */
border:1px solid #0000AA; /* taille, style et couleur de la bordure */
/* fond de la bulle : image non répétée décalée de 5px à droite, centrée verticalement, avec un fond de couleur #ddd */
background:#ddd url(https://ekladata.com/gerer-mon-blog.eklablog.fr/perso/cadre-icons/info.png) no-repeat 5px center;
}
a[href="#mabulle"]:hover + sub /* texte en indice sur survol du lien */
{
display: inline; /* affichage de la bulle */
}
/* Fin CSS info-bulles */
Cette opération n'est à faire qu'une seule fois pour tout le blog.
Vous voilà prêt à ajouter une info-bulle !
Passez en premier lieu en édition sur un article.
Notez que l'info-bulle ne fonctionne que sur un lien hypertexte.
Ajoutez donc un lien en cliquant sur le bouton « Insérer/éditer un lien ».

- Dans « Url », inscrivez #mabulle.
Il est important de mettre exactement cette Url, car celle-ci à deux rôles :
- Dans « Texte à afficher », écrivez le texte qui sera affiché sur l'article (celui qui sera survolé).

Ajoutez ensuite du texte juste après le lien :
![]()
Sélectionnez ce texte qui doit être placé dans l'info-bulle et mettez le en indice :
![]()
La mise en indice se fait en passant d'abord l'éditeur en mode « Expert ».

La mise en indice du texte permet de le détecter avec le CSS, c'est le rôle du sélecteur sub.
Il est alors possible d'écrire la suite du texte, en cliquant si besoin à nouveau sur le bouton « Indice » pour revenir en texte normal.
![]()
Dans l'éditeur, on ne voit pas les info-bulles. On voit le texte d'information en indice, ce qui nous permet de le modifier.
Dans votre article en ligne, vous devriez obtenir ceci : Survolez pour infoCeci est un texte d'information et voici la suite du texte.
Notez que pour l'exemple, si vous survolez le lien ci-dessus, j'ai ajouté du texte rouge en gras. Il est en effet possible de mettre du formatage dans le contenu.
Par contre on ne peut pas mettre du texte en indice car tout le contenu y est déjà...
A partir d'ici nous allons un peu étudier le code pour pouvoir l'adapter :
Le code CSS se divise en quatre parties :
Dans le code vous trouvez :
Première partie : le style du lien.
Code CSS pour les info-bulles : première partieTout sélectionner
a[href="#mabulle"] /* texte du lien */
{
text-decoration:none; /* pas de soulignement */
background-color:#FFFFAA; /* couleur surlignée */
color:darkblue; /* couleur du texte */
}
On détecte les liens « info-bulle » avec l'Url #mabulle.
Cette Url se retrouve dans le code HTML en attribut href du lien.
Le lien est un élément nommé a, l'attribut href est défini entre crochets.
Le style entre accolades s'appliquera donc au texte des liens dont l'Url est #mabulle.
Recherchez sur internet « code couleurs HTML » par exemple, vous trouverez de nombreuses informations sur la codification des couleurs.
Deuxième partie : le style du lien survolé.
Code CSS pour les info-bulles : deuxième partieTout sélectionner
a[href="#mabulle"]:hover /* texte du lien survolé */
{
cursor:help; /* curseur souris */
}
On ajoute le selecteur :hover qui signifie « survolé ».
Le style entre accolades s'appliquera donc au texte des liens survolés dont l'Url est #mabulle.
Vous trouverez tous les curseurs disponibles sur ce lien : CSS cursor property.
Troisième partie : le style de l'info-bulle.
Code CSS pour les info-bulles : troisième partieTout sélectionner
a[href="#mabulle"] + sub /* texte d'info en indice après le lien */
{
bottom:auto; /* Corrige le positionnement du sub */
line-height:inherit; /* Corrige la taille de ligne du sub */
display:none; /* pas d'affichage avant le survol */
position:absolute; /* position absolue pour que la bulle soit positionnée hors du texte */
font-size:inherit; /* hérite de la taille du texte du lien */
color:darkblue; /* couleur du texte d'info */
text-align:justify; /* alignement du texte justifié */
-moz-border-radius:10px; /* bordure arrondie 10px de rayon */
-webkit-border-radius:10px;
border-radius:10px;
margin:10px 10px; /* marge extérieure haut et gauche, décale l'info-bulle vers le bas et à droite */
padding:10px; /* marge intérieure de 10px */
padding-left:50px; /* marge intérieure gauche de 50px pour laisser de la place à l'image */
border:1px solid #0000AA; /* taille, style et couleur de la bordure */
/* fond de la bulle : image non répétée décalée de 5px à droite, centrée verticalement, avec un fond de couleur #ddd */
background:#ddd url(https://ekladata.com/gerer-mon-blog.eklablog.fr/perso/cadre-icons/info.png) no-repeat 5px center;
}
On ajoute le selecteur + sub qui signifie « le texte en indice qui suit le lien ».
Le style entre accolades s'appliquera donc au texte en indice qui suit les liens dont l'Url est #mabulle.
Ces deux premiers paramètres de style ne doivent pas être modifiés pour le bon fonctionnement de l'info-bulle.
Les paramètres suivants peuvent être changés.
Quatrième partie : le style de l'info-bulle lorsque le lien est survolé.
Code CSS pour les info-bulles : quatrième partieTout sélectionner
a[href="#mabulle"]:hover + sub /* texte en indice sur survol du lien */
{
display: inline; /* affichage de la bulle */
}
/* Fin CSS info-bulles */
On ajoute le selecteur :hover qui signifie « survolé ».
Lorsque le texte est survolé, on définit la propriété display à inline,ce qui a pour effet d'afficher la bulle.
Si la souris quitte le texte, la bulle est masquée (le style de la bulle sans survol est réappliqué).
Et si on souhaite avoir plusieurs styles d'info-bulles ?
Il suffit de définir plusieurs Url, par exemple #mabulleinfo et #mabullewarning.
On place d'abord les styles communs à toutes les info-bulles dans des code CSS dont le sélecteur sera par exemple : a[href="#mabulleinfo"], a[href="#mabullewarning"]
Ensuite on place le code spécifique à chaque info-bulle avec un sélecteur qui cible l'Url de chaque info-bulle.
Ce qui nous donne :
Code CSS pour plusieurs styles d'info-bullesTout sélectionner
/* Début CSS info-bulles multiples */
/* Styles commun à toutees les info-bulles */
a[href="#mabulleinfo"], a[href="#mabullewarning"] /* texte du lien */
{
text-decoration:none; /* pas de soulignement */
color:darkblue; /* couleur du texte */
}
a[href="#mabulleinfo"]:hover, a[href="#mabullewarning"]:hover /* texte du lien survolé */
{
cursor:help; /* curseur souris */
}
a[href="#mabulleinfo"] + sub, a[href="#mabullewarning"] + sub /* texte d'info en indice après le lien */
{
bottom:auto; /* Corrige le positionnement du sub */
line-height:inherit; /* Corrige la taille de ligne du sub */
display:none; /* pas d'affichage avant le survol */
position:absolute; /* position absolue pour que la bulle soit positionnée hors du texte */
font-size:inherit; /* hérite de la taille du texte du lien */
color:darkblue; /* couleur du texte d'info */
text-align:justify; /* alignement du texte justifié */
-moz-border-radius:10px; /* bordure arrondie 10px de rayon */
-webkit-border-radius:10px;
border-radius:10px;
margin:10px 10px; /* marge extérieure haut et gauche, décale l'info-bulle vers le bas et à droite */
padding:10px; /* marge intérieure de 10px */
padding-left:50px; /* marge intérieure gauche de 50px pour laisser de la place à l'image */
}
a[href="#mabulleinfo"]:hover + sub, a[href="#mabullewarning"]:hover + sub /* texte en indice sur survol du lien */
{
display: inline;
}
/* Styles spécifiques à chaque info-bulles */
a[href="#mabulleinfo"] /* texte du lien */
{
background-color:#FFFFAA; /* couleur surlignée */
}
a[href="#mabullewarning"] /* texte du lien */
{
background-color:#FFAAAA; /* couleur surlignée */
}
a[href="#mabulleinfo"] + sub /* texte d'info en indice après le lien */
{
border:1px solid #0000AA; /* taille, style et couleur de la bordure */
/* fond de la bulle : image non répétée décalée de 5px à droite, centrée verticalement, avec un fond de couleur #ddd */
background:#ddd url(https://ekladata.com/gerer-mon-blog.eklablog.fr/perso/cadre-icons/info.png) no-repeat 5px center;
}
a[href="#mabullewarning"] + sub /* texte d'info en indice après le lien */
{
border:1px solid #AA0000; /* taille, style et couleur de la bordure */
/* fond de la bulle : image non répétée décalée de 5px à droite, centrée verticalement, avec un fond de couleur #daa */
background:#daa url(https://ekladata.com/gerer-mon-blog.eklablog.fr/perso/cadre-icons/warning.png) no-repeat 5px center;
}
/* Fin CSS info-bulles multiples */
Et voici une informationCeci est une information et un avertissement testCeci est un avertissement.