Bootstrap Tooltip顯示換行和左對齊

今天在使用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;
}


http://www.alanzeng.cn/2015/12/bootstrap-tooltip-newline-left-align/

發佈了94 篇原創文章 · 獲贊 39 · 訪問量 44萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章