J'ai créé une info-bulle à l'aide de Twitter Bootstrap.
L'info-bulle s'affiche avec trois lignes. Cependant, je voudrais afficher l'info-bulle avec une seule ligne.
Comment modifier la largeur de l'info-bulle? Est-ce spécifique à Twitter Bootstrap ou aux info-bulles elles-mêmes?
twitter-bootstrap
tooltip
onejigtwojig
la source
la source
Réponses:
Remplacez simplement bootstrap.css
La valeur par défaut dans BS2 est max-width: 200px; Vous pouvez donc l'augmenter en fonction de vos besoins.
la source
max-width
ne fonctionne pas pour moi, maiswidth
fonctionne. Testé sur Chrome et IE9. Un indice?max-width
et ne voyant pas la réponse de @ knobli ci-dessous, veuillez utiliserdata-container="body"
dans votre élément HTML.Sur BS3
la source
Je me rends compte que c'est une question très ancienne, mais si je débarque ici, d'autres le feront aussi. Alors j'ai pensé que je pesais.
Si vous souhaitez que l'info-bulle ne réponde qu'à une seule ligne, quelle que soit la quantité de contenu que vous y ajoutez, la largeur doit être flexible. Cependant, Bootstrap initie l'info-bulle à une largeur, vous devez donc au moins déclarer quelle sera cette largeur et la rendre flexible à partir de cette taille. Voici ce que je recommande:
Le
min-width
déclare une taille de départ. Contrairement à la largeur max, comme certains le suggèrent, qui déclare une largeur d' arrêt . Selon votre question, vous ne devez pas déclarer de largeur finale, sinon le contenu de votre info-bulle finira par s'ajuster à ce stade. Au lieu de cela, vous utilisez une largeur infinie ou une largeur flexible.max-width: 100%;
s'assurera qu'une fois l'info-bulle lancée à 100 pixels de large, elle grandira et s'adaptera à votre contenu, quelle que soit la quantité de contenu que vous y avez.GARDEZ À L'ESPRIT GARDEZ info-bulles ne sont pas destinées à contenir beaucoup de contenu. Cela pourrait sembler génial si vous aviez une longue chaîne sur tout l'écran. Et cela aura certainement un impact sur vos vues responsives, en particulier sur votre smartphone (largeur 320px).
Je recommanderais deux solutions pour perfectionner cela:
data-placement:right
, le contenu de votre info-bulle ne sera pas visible sur les smartphones (d'où la raison pour laquelle bootstrap les a initialement conçus pour être réactifs à son contenu et lui permettre de emballage)@media
requête pour réinitialiser votre info-bulle pour l'adapter à la vue du smartphone. Comme ça:Ma démo ICI démontre la flexibilité et la réactivité des info-bulles en fonction de la taille du contenu et de la taille d'affichage de l'appareil.
la source
Vous devez écraser les propriétés en utilisant votre propre css. ainsi:
le sélecteur choisit le div dans lequel l'info-bulle est conservée (l'info-bulle est ajoutée par javascript et n'appartient généralement à aucun conteneur.
la source
Définissez la largeur maximale avec "important!" et utilisez data-container = "body"
Fichier CSS
Balise HTML
Script JS
la source
data-container="body"
seul l'a fait pour moi. Merci!Pour résoudre le problème de largeur, utilisez plutôt le code suivant.
exemple: http://eureka.ykyuen.info/2014/10/08/bootstrap-3-tooltip-width/
la source
Une autre solution; créer une nouvelle classe (par exemple à l'échelle de l'info-bulle) en CSS:
Utilisez cette classe sur les éléments pour lesquels vous souhaitez des info-bulles larges:
L'info-bulle Bootstrap génère un balisage sous l'élément contenant l'info-bulle, de sorte que le HTML ressemble en fait à quelque chose comme ceci après la génération du balisage:
Le CSS l'utilise pour accéder à l'élément adjacent (+) à .tooltip-wide, et à partir de là, navigue vers .tooltip-inner, avant d'appliquer l'attribut max-width. Cela n'affectera que les éléments utilisant la classe .tooltip-wide, toutes les autres info-bulles resteront inchangées.
la source
data-template="<div class='tooltip' role='tooltip'><div class='arrow'></div><div class='tooltip-inner tooltip-wide'></div></div>"
et.tooltip-wide { max-width: 100%; min-width: 80%; }
on peut le faire fonctionner.Vous pouvez modifier la classe css .tooltip-inner dans bootstrap.css. La largeur maximale par défaut est de 200 pixels. Vous pouvez modifier la largeur maximale en fonction de la taille souhaitée.
la source
après quelques essais, cela a fonctionné le mieux pour moi:
la source
Remplacez simplement la valeur par défaut
max-width
par ce qui correspond à vos besoins.Quand max-width ne fonctionne pas (option 1)
Si max-width ne fonctionne pas, vous pouvez utiliser une largeur définie à la place. C'est bien, mais vos info-bulles ne seront plus redimensionnées pour s'adapter au texte. Si vous n'aimez pas cela, passez à l'option 2.
Traiter correctement les petits conteneurs (option 2)
Puisque Bootstrap ajoute l'info-bulle en tant que frère de la cible, il est contraint par l'élément conteneur. Si l'élément contenant est plus petit que votre
max-width
, alorsmax-width
cela ne fonctionnera pas.Donc, quand
max-width
cela ne fonctionne pas, il vous suffit de changercontainer
:Astuce de pro: le conteneur peut être n'importe quel sélecteur, ce qui est bien lorsque vous ne voulez remplacer les styles que sur quelques info-bulles.
la source
Définissez la classe sur le div principal de l'info-bulle et pour l'info-bulle interne
la source
Veuillez vous référer au post ci-dessous. La réponse de cmcculloh a fonctionné pour moi. https://stackoverflow.com/posts/31683500/edit
Comme indiqué dans la documentation , le moyen le plus simple de s'assurer que votre info-bulle ne s'enroule pas du tout est d'utiliser
Avec cela, vous n'avez pas à vous soucier des valeurs de dimension ou de quelque chose du genre. Le problème principal est que si vous avez une très longue ligne de texte, elle disparaîtra simplement de l'écran (comme vous pouvez le voir dans l' exemple JSBin ).
la source
BS3:
la source
Sur Bootstrap 4, et si vous ne souhaitez pas modifier la largeur de toutes les info-bulles, vous pouvez utiliser un modèle spécifique pour l'info-bulle souhaitée:
la source
Essayez ce code,
la source
J'ai eu le même problème, mais toutes les réponses populaires - changer
.tooltip-inner{width}
pour ma tâche n'a pas réussi à faire le travail correctement. Quant aux autres info-bulles (c'est-à-dire plus courtes), la largeur fixe était trop grande. J'étais paresseux pour écrire des modèles / classes html séparés pour des zilions d'infobulles, donc j'ai simplement remplacé tous les espaces entre les mots par
dans chaque ligne de texte.la source
J'avais besoin d'ajuster la largeur de certaines info-bulles. Mais pas un cadre global. Alors j'ai fini par faire ceci:
CSS
JQuery
HTML
la source
La définition de la largeur maximale de la classe tooltip-inner ne fonctionnait pas pour moi , j'utilise bootstrap 3.2
Comment définir la largeur maximale ne fonctionne que si vous définissez la largeur de la classe parent (.tooltip).
Mais toutes les info-bulles deviennent alors la taille que vous spécifiez. Alors voici ma solution:
ajoutez une largeur à la classe parent:
Ensuite, vous ajoutez la largeur maximale et changez l'affichage en bloc en ligne, de sorte qu'il n'occupera pas tout l'espace
la source
Le mien où toutes les longueurs variables et une largeur maximale définie ne fonctionneraient pas pour moi, alors régler mon css à 100% a fonctionné comme un charme.
la source
Avec Bootstrap 4 j'utilise
la source
dans bootstrap 3.0.3, vous pouvez le faire en modifiant la classe popover
la source