Bootstrap Tooltip显示换行和左对齐

来源:互联网 发布:aes加解密 java 编辑:程序博客网 时间:2024/06/06 01:18

今天在使用Bootstrap的Tooltip功能时遇到2个小问题:换行丢失,文字不是左对齐。然后经过百度和Bing找到了解决方案。

先看一下Bootstrap中展示Tooltip的代码:

<link href="bootstrap/css/bootstrap.min.css" rel="stylesheet" type="text/css"/><script src="res/jquery.min.js" type="text/javascript"></script><script src="bootstrap/js/bootstrap.min.js" type="text/javascript"></script><script>    $(function () {        $('[data-toggle="tooltip"]').tooltip();    });</script><button type="button" class="btn btn-default" data-toggle="tooltip" data-placement="left" title="${desc}">${title}</button>

注意这里${desc}和${title}是SpringMVC后台传过来的数据。

这是Bootstrap Tooltip最基本的代码,也就是会出现我说的两个问题。

换行问题

遇到换行,我们首先想到的是将"\n"替换成"<br/>",我也是这么做的(具体参见我的另一文章),可惜这在Tooltip中不管用。Tooltip直接把"<br/>"当作文字显示出来了。

也就是说,HTML在Tooltip中没有起作用。好在我找到了data-html属性,可以使得在Tooltip中使用HTML,让"<br/>"起作用。加上data-html="true"后换行起作用了,看如下代码:

<button type="button" class="btn btn-default" data-html="true" data-toggle="tooltip" data-placement="left" title="${fn:replace(desc, newline, "<br/>")}">${title}</button>

左对齐

基于HTML起作用后,再做左对齐就简单多了,将要显示的内容放在<p align='left'>...</p>中。

<button type="button" class="btn btn-default" data-html="true" data-toggle="tooltip" data-placement="left" title="<p align='left'>${fn:replace(desc, newline, "<br/>")}</p>">${title}</button>

无论什么原因,如果<p align='left'>不管用,还有很多选择:

<style>  .tooltip > p {   text-align:left; }</style>
.tooltip-inner {    text-align:left;}

0 0