Twitter bootstrapツールチップに少し長いテキストを表示しようとしています。下の写真でわかるように、物事は途方もなく行きません。 bootstrapツールチップをオーバーフローするテキストの簡単な修正はありますか?
編集(要求されたコードを追加):
私のコントローラーで:
<a href='" + Url.Action("Index", "PP", new {id = productRow.ProductGuid, area = ""}) + "' " +
((blTruncated) ? "class='auto-tooltip' title='" + productRow.ProductName.Replace("'", "") : "") + "'>" +
productName + "</a>
私からしてみれば:
$('.auto-tooltip').tooltip();
あなたのコードについてはよくわかりませんが、
これは、ツールチップの値が長い例です。
要素:
<a href="#" rel="tooltip" title="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas bibendum ac felis id commodo. Etiam mauris purus, fringilla id tempus in, mollis vel orci. Duis ultricies at erat eget iaculis.">Hover here please</a>
Js:
$(document).ready(function () {
$("a").tooltip({
'selector': '',
'placement': 'top',
'container':'body'
});
});
Css:
/*Change the size here*/
div.tooltip-inner {
max-width: 350px;
}
デモ: JsBin.comで
明らかに、Bootstrap 4の.tooltip-inner
のみを変更できます。ありがとう@Felix Dombek
.tooltip-inner { max-width: ... }
ドキュメントで で示唆されているように、ツールチップがまったくラップしないようにする最も簡単な方法は、
.tooltip-inner {
max-width: none;
white-space: nowrap;
}
これにより、ディメンション値などを心配する必要はありません。主な問題は、非常に長いテキスト行がある場合、画面から消えてしまうことです( JSBin Example を参照)。
スタイルシートで.tooltip-inner
をスタイリングする代わりに、ツールチップのテンプレートを変更することで、 tooltip にスタイルを直接追加できます。
ほとんどの場合、要素にスタイルを直接適用するため、これはおそらく良いアイデアではありませんが、これが唯一のオプションであるか、何らかの理由で最良のオプションである少数のケースでは可能です。
$(selector).tooltip({
title: "Lorem ipsum ...",
template: '<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner" style="max-width: none;"></div></div>',
});
または、属性として:
<span
data-toggle="tooltip"
title="Lorem ipsum ..."
data-template='<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner" style="max-width: none;"></div></div>'
>Some abbreviation</span>
$(function(){
$('[data-toggle="tooltip"]').tooltip();
});
template
オプション:
ツールチップを作成するときに使用するベースHTML。
ツールチップの
title
は.tooltip-inner
に挿入されます。
.tooltip-arrow
はツールチップの矢印になります。最も外側のラッパー要素には
.tooltip
クラスが必要です。
デフォルト:
'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'
別の方法として、独自のクラスをテンプレートに追加し、カスタムクラスのスタイルを設定できます。
$(selector).tooltip({
title: "Lorem ipsum ...",
template: '<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner my-custom-tooltip"></div></div>',
});
.my-custom-tooltip {
max-width: none;
}