在Bootstrap工具提示中显示长文本

时间:2013-08-29 17:34:18

标签: jquery css twitter-bootstrap twitter-bootstrap-tooltip

我试图在twitter bootstrap工具提示中显示一些长文本。正如你在下面的图片中看到的那样,事情并不是很糟糕。有没有人可以轻松修复溢出引导工具提示的文本?

tooltip overflow

编辑(添加了请求的代码):

在我的控制器中:

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

在我看来:

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

4 个答案:

答案 0 :(得分:94)

我不太确定你的代码,
这是一个具有长工具提示值的示例:

<强>元素:

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

演示:on JsBin.com

答案 1 :(得分:28)

正如in the documentation暗示的那样,确保工具提示完全不包装的最简单方法是使用

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

有了这个,你不必担心尺寸值或类似的东西。主要问题是,如果你有超长的文本行,它就会离开屏幕(正如你在JSBin Example中看到的那样)。

答案 2 :(得分:5)

您可以使用此来源获得更好的结果:

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

what's the Map object in QML

答案 3 :(得分:2)

作为样式表中样式.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;
}