Derniers tutoriels de développement web
 

CSS tooltip


Créer des infobulles avec CSS.


Demo: Tooltip Exemples

Une info-bulle est souvent utilisé pour spécifier des informations supplémentaires à propos de quelque chose lorsque l'utilisateur déplace le pointeur de la souris sur un élément:

Top texte Tooltip
Texte Tooltip droit
Texte Tooltip Bottom
Texte gauche Tooltip


Tooltip Basic

Créer une infobulle qui apparaît lorsque l'utilisateur déplace la souris sur un élément:

Exemple

<style>
/* Tooltip container */
.tooltip {
    position: relative;
    display: inline-block;
    border-bottom: 1px dotted black; /* If you want dots under the hoverable text */
}

/* Tooltip text */
.tooltip .tooltiptext {
    visibility: hidden;
    width: 120px;
    background-color: black;
    color: #fff;
    text-align: center;
    padding: 5px 0;
    border-radius: 6px;
 
    /* Position the tooltip text - see examples below! */
    position: absolute;
    z-index: 1;
}

/* Show the tooltip text when you mouse over the tooltip container */
.tooltip:hover .tooltiptext {
    visibility: visible;
}
</style>

<div class="tooltip"> Hover over me
  <span class="tooltiptext"> Tooltip text </span>
</div>
Essayez - le vous - même »

Exemple Explained

HTML) Utiliser un élément conteneur (comme <div> ) et ajouter le "tooltip" classe à elle. Lorsque l'utilisateur souris sur ce <div> , il affiche le texte de l' infobulle.

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

CSS) L' tooltip classe utilisation position:relative , qui est nécessaire pour positionner le texte de l' infobulle ( position:absolute .) Note: Voir les exemples ci - dessous sur la façon de positionner l'infobulle.

La tooltiptext classe contient le texte de l' infobulle réelle. Il est caché par défaut, et sera visible sur le vol stationnaire (voir ci-dessous). Nous avons également ajouté quelques styles de base à elle: largeur de 120px, couleur de fond noir, blanc couleur de texte, texte centré, et top 5px et rembourrage en bas.

Le CSS3 border-radius propriété est utilisé pour ajouter des coins arrondis au texte de l' infobulle.

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


Positionnement infobulles

Dans cet exemple, l'infobulle est placé à droite (left:105%) à "hoverable" (<div>) (left:105%) du "hoverable" texte (<div>) . A noter également que le top:-5px est utilisé pour le placer dans le milieu de son élément conteneur. Nous utilisons le numéro 5 parce que le texte de l' infobulle a un rembourrage en haut et en bas de 5px. Si vous augmentez son rembourrage, augmentent également la valeur de la partie top des biens pour veiller à ce qu'il reste au milieu (si cela est quelque chose que vous voulez). Il en va de même si vous voulez l'infobulle placé à gauche.

Tooltip droit

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

Résultat:

Hover over me Tooltip text
Essayez - le vous - même »

gauche Tooltip

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

Résultat:

Hover over me Tooltip text
Essayez - le 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 margin-left propriété avec une valeur de moins de 60 pixels. Ceci est de centrer l'infobulle ci-dessus / en dessous du texte hoverable. Il est fixé à la moitié de la largeur de la bulle (120/2 = 60).

Top Tooltip

.tooltip .tooltiptext {
    width: 120px;
    bottom: 100%;
    left: 50%;
    margin-left: -60px; /* Use half of the width (120/2 = 60), to center the tooltip */
}

Résultat:

Hover over me Tooltip text
Essayez - le vous - même »

Tooltip Bottom

.tooltip .tooltiptext {
    width: 120px;
    top: 100%;
    left: 50%;
    margin-left: -60px; /* Use half of the width (120/2 = 60), to center the tooltip */
}

Résultat:

Hover over me Tooltip text
Essayez - le vous - même »

Arrows tooltip

Pour créer une flèche qui doit apparaître d'un côté spécifique de l'info - bulle, ajouter du contenu "vide" après infobulle, avec la classe pseudo-élément ::after ainsi que le content des biens. La flèche elle-même est créée en utilisant les frontières. Cela rendra le look infobulle comme une bulle.

Cet exemple montre comment ajouter une flèche vers le bas de l'info-bulle:

Bas Flèche

.tooltip .tooltiptext::after {
    content: " ";
    position: absolute;
    top: 100%; /* At the bottom of the tooltip */
    left: 50%;
    margin-left: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: black transparent transparent transparent;
}

Résultat:

Hover over me Tooltip text
Essayez - le vous - même »

Exemple Explained

Positionner la flèche à l' intérieur du infobulle: top: 100% placera la flèche en bas de l'infobulle. left: 50% sera centré sur la flèche.

Remarque: Le border-width propriété indique la taille de la flèche. Si vous changez, changez aussi la margin-left de la valeur à la même chose. Cela permet de garder la flèche centrée.

Le border-color est utilisé pour transformer le contenu en flèche. Nous avons mis la bordure supérieure au noir, et le reste à la transparence. Si tous les côtés étaient noirs, vous retrouvez avec une boîte carrée noire.

Cet exemple montre comment ajouter une flèche vers le haut de l'infobulle. Notez que nous avons mis la couleur de la bordure inférieure cette fois:

Haut Arrow

.tooltip .tooltiptext::after {
    content: " ";
    position: absolute;
    bottom: 100%;  /* At the top of the tooltip */
    left: 50%;
    margin-left: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: transparent transparent black transparent;
}

Résultat:

Hover over me Tooltip text
Essayez - le vous - même »

Cet exemple montre comment ajouter une flèche à la gauche de l'info-bulle:

Flèche gauche

.tooltip .tooltiptext::after {
    content: " ";
    position: absolute;
    top: 50%;
    right: 100%; /* To the left of the tooltip */
    margin-top: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: transparent black transparent transparent;
}

Résultat:

Hover over me Tooltip text
Essayez - le vous - même »

Cet exemple montre comment ajouter une flèche à droite de l'info-bulle:

Flèche droite

.tooltip .tooltiptext::after {
    content: " ";
    position: absolute;
    top: 50%;
    left: 100%; /* To the right of the tooltip */
    margin-top: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: transparent transparent transparent black;
}

Résultat:

Hover over me Tooltip text
Essayez - le vous - même »

Fade In infobulles (Animation)

Si vous voulez disparaître dans le texte de l' infobulle quand il est sur le point d'être visible, vous pouvez utiliser le CSS3 transition du bien avec l' opacity des biens, et aller d'être complètement invisible à 100% visible, dans un certain nombre de secondes spécifiés (1 seconde dans notre exemple):

Exemple

.tooltip .tooltiptext {
    opacity: 0;
    transition: opacity 1s;
}

.tooltip:hover .tooltiptext {
    opacity: 1;
}
Essayez - le vous - même »

Remarque: Vous en apprendrez plus sur les transitions et animations plus tard dans notre tutoriel.