2013-08-29 19 views
43

私は、長いテキストの一部をTwitterのブートストラップのツールチップに表示しようとしています。あなたが下の図に見られるように、物事は激しく行かない。誰かが簡単にブートストラップのツールチップをオーバーフローさせるテキストを修正していますか?ブートストラップのツールチップに長いテキストを表示

tooltip overflow

EDIT(追加要求されたコード):私のコントローラで

:私の見解では

<a href='" + Url.Action("Index", "PP", new {id = productRow.ProductGuid, area = ""}) + "' " + 
      ((blTruncated) ? "class='auto-tooltip' title='" + productRow.ProductName.Replace("'", "") : "") + "'>" + 
      productName + "</a> 

$('.auto-tooltip').tooltip(); 
+3

使用しているコードを表示できますか? –

+0

@ rink.attendant.6コードが追加されました –

答えて

89

私はあなたについてかなりよく分かりませんコード、
ここでは、長いツールチップ値:

要素:

<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; 
} 

デモ:0 in the documentationを示唆したよう

+6

ありがとうございます、ツールチップ内の最大幅は私が逃したものです。感謝。 –

+4

'div [class =" tooltip-inner "]' ??それは誰かがこのような要素を選択するのを見るのは初めてです! 'div.tolltip-inner'を使用してください。 –

+1

@AlirezaNoori、そうです、答えを書いているうちに、bootstrap.cssファイルにその種の構文を見ただけです。回答が編集されました。 – funerr

25

、あなたのツールチップがすべてでラップしていないことを保証する最も簡単な方法は、これにより

 .tooltip-inner { 
      max-width: none; 
      white-space: nowrap; 
     } 

を使用することで、あなたは、ディメンション値またはそのような何も心配する必要はありません。主な問題は、テキストの長い行がある場合は、画面の外に出るだけです(JSBin Exampleで確認できます)。

+0

ニースのスニペット... –

+0

'white-space:nowrap;'は私が逃したものです、歓声! – Leo

+0

私は 'white-space:nowrap;'を削除し、1,000文字のツールチップに入力しました。それはFirefoxでうまくいった(しかし、問題はいつもIEの512の制限であった)ので、私はそれをIEで試してみたところ、私のカーソルをハングアップし、私のCPUを跳ね上がった。クレイジー!ツールチップからのすべて。あまりにも悪いことに、私はツールチップにもっと多くの情報(それ以上の情報が飛び出す可能性があります)へのリンクを埋め込むことはできません。 – MikeTeeVee

4

あなたはより良い結果を得るため、このソースを使用することができます。あなたがツールチップのテンプレートを変更することによって、tooltipに直接スタイルを追加することができますスタイルシートで.tooltip-innerをスタイリングするための代替案として

.tooltip-inner { 
word-break: break-all; 
} 

enter image description here

2

を。

これは、要素に直接スタイルを適用するため、ほとんどの場合はお勧めできませんが、これが唯一のオプションである場合や何らかの理由で最適な場合オプション。

$(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; 
} 
関連する問題