Info-bulle CSS

  • par

Créer des info-bulles avec CSS.

Démo : Exemples d’infobulles

Une infobulle est souvent utilisée pour spécifier des informations supplémentaires sur quelque chose lorsque l’utilisateur déplace le pointeur de la souris sur un élément :

Top Tooltip text
Right Tooltip text

Bottom Tooltip text

.

Texte d’info-bulle gauche

Info-bulle de base

Créer une info-bulle qui apparaît lorsque l’utilisateur déplace la souris sur un élément :

Exemple expliqué

Le texte de l’infobulle est placé à l’intérieur d’un élément en ligne (comme <span>) avec class="tooltiptext".

CSS : La classe tooltip utilise position:relative, qui est nécessaire pour positionner le texte de l’infobulle (position:absolute).Remarque : voir les exemples ci-dessous sur la façon de positionner l’infobulle.

La classe tooltiptext contient le texte réel de l’infobulle. Il est masqué par défaut, et sera visible au survol (voir ci-dessous). Nous lui avons également ajouté quelques styles de base : 120px de largeur, couleur de fond noire, couleur de texte blanche, texte centré et 5px de rembourrage en haut et en bas.

La propriété CSS border-radius est utilisée pour ajouter des coins arrondis au texte de l’infobulle.

Le sélecteur :hover est utilisé pour afficher le texte de l’infobulle lorsque l’utilisateur déplace la souris sur le <div> avec class="tooltip".

Positionnement des infobulles

Dans cet exemple, l’infobulle est placée à droite (left:105%) du texte  » survolable  » (<div>). Notez également que top:-5px est utilisé pour le placer au milieu de son élément conteneur. Nous utilisons le chiffre 5 car le texte de l’infobulle a un padding supérieur et inférieur de 5px. Si vous augmentez son padding, augmentez également la valeur de la propriété top pour vous assurer qu’il reste au milieu (si c’est ce que vous voulez). Il en va de même si vous souhaitez que l’info-bulle soit placée à gauche.

Info-bulle droite

.tooltip .tooltiptext {
top : -5px;
left : 105% ;
}

Résultat:

Sauter sur moi Texte de l’info-bulle

Essayez vous-même  »

Info-bulle gauche

.tooltip .tooltiptext {
top : -5px;
right : 105% ;
}

Résultat:

Sauter sur moi Texte de l’infobulle

Essayez vous-même  »

Si vous voulez que l’infobulle apparaisse en haut ou en bas, voir les exemples ci-dessous. Notez que nous utilisons la propriété margin-left avec une valeur de moins 60 pixels. Cela permet de centrer l’infobulle au-dessus/en dessous du texte survolable. Il est défini à la moitié de la largeur de l’infobulle (120/2 = 60).

Flèches d’infobulle

Pour créer une flèche qui doit apparaître d’un côté spécifique de l’infobulle, ajoutez un contenu « vide » après l’infobulle, avec la classe de pseudo-élément ::after conjointement avec la propriété content. La flèche elle-même est créée à l’aide de bordures. Ainsi, l’infobulle ressemblera à une bulle de parole.

Cet exemple démontre comment ajouter une flèche au bas de l’infobulle :

Exemple expliqué

Positionner la flèche à l’intérieur de l’infobulle : top: 100% placera la flèche au bas de l’infobulle. left: 50% centrera la flèche.

Note : La propriété border-width spécifie la taille de la flèche. Si vous la modifiez, changez également la valeur de margin-left pour la même. Cela permettra de garder la flèche centrée.

La border-color est utilisée pour transformer le contenu en flèche. Nous définissons la bordure supérieure en noir, et le reste en transparent. Si tous les côtés étaient noirs, vous vous retrouveriez avec une boîte carrée noire.

Cet exemple démontre comment ajouter une flèche au sommet de l’infobulle. Remarquez que nous avons défini la couleur de la bordure inférieure cette fois-ci :

Cet exemple démontre comment ajouter une flèche à la gauche de l’infobulle :

Cet exemple démontre comment ajouter une flèche à la droite de l’infobulle :

Fade In Tooltips (Animation)

Si vous voulez faire apparaître en fondu le texte de l’infobulle lorsqu’il est sur le point d’être visible, vous pouvez utiliser la propriété CSS transition conjointement avec la propriété opacity, et passer d’un état complètement invisible à un état 100% visible, en un nombre de secondes spécifié (1 seconde dans notre exemple) :

.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *