J'ai une balise div comme celle-ci:
<div>
<label>Name</label>
<input type="text"/>
</div>
Comment afficher une info-bulle sur :hover
la div, de préférence avec un effet de fondu d'entrée / sortie.
javascript
html
css
tooltip
user475685
la source
la source
Réponses:
Pour l'infobulle de base, vous voulez:
Pour une version javascript plus sophistiquée, vous pouvez consulter:
https://jqueryhouse.com/best-jquery-tooltip-plugins/
Le lien ci-dessus vous donne 25 options pour les info-bulles.
la source
<abbr title="...">...</abbr>
plutôt; les navigateurs stylisent généralement cela souligné par des tirets / points, indiquant "il y a plus à dire, voir mon info-bulle".Cela peut être fait uniquement avec CSS , pas de javascript du tout : exécution de la démo
Appliquer un attribut HTML personnalisé, par exemple.
data-tooltip="bla bla"
à votre objet (div ou autre):Définissez le
:before
pseudo - élément de chaque[data-tooltip]
objet pour qu'il soit transparent, absolument positionné et avecdata-tooltip=""
valeur comme contenu:Définissez l'
:hover:before
état de vol stationnaire de chacun[data-tooltip]
pour le rendre visible:Appliquez vos styles (couleur, taille, position, etc.) à l'objet info-bulle; fin de l'histoire.
Dans la démo, j'ai défini une autre règle pour spécifier si l'info-bulle doit disparaître lors du survol, mais en dehors du parent, avec un autre attribut personnalisé
data-tooltip-persistent
et une règle simple:Remarque 1: la couverture du navigateur pour cela est très large, mais envisagez d'utiliser une solution de rechange javascript (si nécessaire) pour les anciens IE.
Remarque 2: une amélioration pourrait être d'ajouter un peu de javascript pour calculer la position de la souris et l'ajouter aux pseudo-éléments, en changeant une classe qui lui est appliquée.
la source
<br>
et d'autres comme\n
ou\r
comme ceux-ci apparaissent simplement en texte brut dans le reste de la chaîne. Mise à jour: je viens de remarquer que la définition d'une largeur maximale permet d'ajuster automatiquement son contenu et de mettre des sauts de ligne. Vraiment bien! (Cependant, si quelqu'un connaît une réponse, je l'apprécierais toujours)Vous n'avez pas du tout besoin de JavaScript pour cela; il suffit de définir l'
title
attribut :Notez que la présentation visuelle de l'info-bulle dépend du navigateur / du système d'exploitation, elle peut donc apparaître en fondu et non. Cependant, c'est la façon sémantique de faire des info-bulles, et cela fonctionnera correctement avec des logiciels d'accessibilité comme les lecteurs d'écran.
Démo dans les extraits de pile
la source
title
attribut ne le coupe tout simplement pas.title
marche. Il existe d'autres réponses plus complexes si vous avez besoin de quelque chose de plus complexe. Honnêtement, je ne sais pas quel point vous essayez de faire valoir ici.Voici une belle info-bulle jQuery:
https://jqueryui.com/tooltip/
Pour implémenter cela, suivez simplement ces étapes:
Ajoutez ce code dans vos
<head></head>
tags:Sur les éléments HTML que vous souhaitez avoir l'info-bulle, ajoutez-y simplement un
title
attribut. Quel que soit le texte dans l'attribut title, il apparaîtra dans l'info-bulle.Remarque: Lorsque JavaScript est désactivé, il revient à l'info-bulle du navigateur / système d'exploitation par défaut.
la source
J'ai fait quelque chose qui devrait également pouvoir être adapté à un div.
HTML
CSS
Pour une discussion plus approfondie, consultez mon article:
Un simple texte d'info-bulle formaté au survol
la source
Voici une implémentation CSS 3 pure (avec JS en option)
La seule chose que vous avez à faire est de définir un attribut sur n'importe quel div appelé "info-bulle de données" et ce texte sera affiché à côté lorsque vous survolerez.
J'ai inclus du JavaScript optionnel qui provoquera l'affichage de l'infobulle près du curseur. Si vous n'avez pas besoin de cette fonctionnalité, vous pouvez ignorer en toute sécurité la partie JavaScript de ce violon.
Si vous ne voulez pas le fondu sur l'état de survol, supprimez simplement les propriétés de transition .
Il est conçu comme l'
title
info-bulle de la propriété. Voici le JSFiddle: http://jsfiddle.net/toe0hcyn/1/Exemple HTML:
CSS:
JavaScript en option pour le changement d'emplacement de l'infobulle en fonction de la position de la souris:
la source
D'accord, voici toutes vos exigences en matière de primes remplies:
Voici une démo et un lien vers mon code (JSFiddle)
Voici les fonctionnalités que j'ai intégrées à ce violon purement JS, CSS et HTML5:
HTML:
CSS:
JavaScript:
la source
Vous pouvez créer des info-bulles CSS personnalisées à l'aide d'un attribut de données, de pseudo-éléments et,
content: attr()
par exemple.http://jsfiddle.net/clintioo/gLeydk0k/11/
.
la source
Le moyen le plus simple serait de définir
position: relative
l'élément contenant etposition: absolute
l'élément info-bulle à l'intérieur du conteneur pour le faire flotter par rapport au parent (élément contenant). Par exemple:la source
Vous pouvez utiliser le titre. ça va marcher pour à peu près tout
<div title="Great for making new friends through cooperation.">
<input script=JavaScript type=button title="Click for a compliment" onclick="window.alert('Your hair reminds me of a sunset across a prairie')" value="making you happy">
<table title="Great job working for those who understand the way i feel">
pensez à n'importe quelle balise qui peut être visible dans la fenêtre html et insérez une
title="whatever tooltip you'd like"
balise à l'intérieur de celle-ci et vous avez obtenu une info-bulle.la source
Vous pouvez basculer un div enfant pendant
onmouseover
etonmouseout
comme ceci:Exemple dans les extraits de pile et jsFiddle
Afficher l'extrait de code
la source
Vous pouvez également personnaliser le style d'infobulle. Veuillez vous référer à ce lien: http://jqueryui.com/tooltip/#custom-style
la source
Une solution uniquement CSS3 pourrait être:
CSS3:
HTML5:
Vous pouvez ensuite créer un
tooltip-2
div de la même manière ... vous pouvez bien sûr également utiliser l'title
attribut au lieu de l'data
attribut.la source
[id^=tooltip]
sélecteur alors que vous auriez pu utiliser une classe et.tooltip
?div[data-title])
sans avoir à ajouter de balisage supplémentaire.Essaye ça. Vous pouvez le faire avec seulement CSS et je n'ai ajouté qu'un
data-title
attribut pour l'infobulle.la source
J'ai développé trois types d'effets de fondu:
la source
Voici une implémentation d'infobulle simple qui tient compte de la position de votre souris ainsi que de la hauteur et de la largeur de votre fenêtre:
(voir aussi ce violon )
la source
Sans utiliser d'API, vous pouvez aussi faire quelque chose comme ça en utilisant du CSS pur et une démo Jquery
HTML
CSS
Jquery
la source
Vous pouvez créer une info-bulle en utilisant du CSS pur.Essayez celui-ci.J'espère qu'il devrait vous aider à résoudre votre problème.
HTML
CSS
la source
Info-bulles Position pure css
la source
vous pouvez le faire avec un simple css ...
jsfiddle
ici vous pouvez voir l'exempleci-dessous le code CSS pour l'infobulle
la source
Azle a une belle implémentation. Supposons que mon élément cible soit une icône, avec le nom de classe "my_icon". Cibler simplement l'élément à l'aide de lafonction add_tooltip d'Azle:
Vous pouvez contrôler la position et le style de l'infobulle à l'aide du style CSS habituel . L'infobulle ci-dessus est conçue comme suit:
Nous pouvons également ajouter une image à l'infobulle, en spécifiant un "chemin_image":
Puisque nous avons spécifié une "image_class" ci-dessus, nous pouvons styliser l'image en utilisant la même fonction style_tooltip, en ciblant cette fois l'image. L'image de jeu ci-dessus a été conçue comme suit:
Voici un exemple utilisant une image plus grande :
... ajouté et stylisé comme suit:
Voici un GIST de tout le code.
Vous pouvez jouer dans ce FIDDLE .
la source
Il y a beaucoup de réponses à cette question mais peut-être que cela aidera quelqu'un. C'est pour toutes les positions gauche, droite, haut, bas.
Voici le css:
Et la balise HTML peut être comme ceci:
<p data-tooltip-position="right" data-tooltip="Some tooltip text here" title="">Text Here</p>
<p data-tooltip-position="left" data-tooltip="Some tooltip text here" title="">Text Here</p>
<p data-tooltip-position="top" data-tooltip="Some tooltip text here" title="">Text Here</p>
<p data-tooltip-position="bottom" data-tooltip="Some tooltip text here" title="">Text Here</p>
la source
Vous pouvez essayer les info-bulles d'amorçage.
lire ici
la source
vous pouvez également l'utiliser comme info-bulle ... Cela fonctionne de la même façon mais vous devez écrire une balise supplémentaire c'est tout.
la source
Et ma version
Puis le HTML
la source
Ajouter une info-bulle à un div
la source
La façon la plus simple d'ajouter une info-bulle à votre élément div.
la source