Як зробити так, щоб підказки Bootstrap для Twitter Bootstrap мали кілька рядків?


157

На даний момент я використовую функцію нижче, щоб створити текст, який буде відображатися за допомогою плагіна підказки Bootstrap. Яким чином багатолінійні підказки працюють лише з ними, <br>а не \n? Я вважаю за краще, що в атрибутах заголовка моїх посилань немає жодного HTML-коду.

Що працює

def tooltip(object)
  tooltip = ""
  object.each do |user|
    tooltip += "#{user.identifier}" + "<br>"
  end
  return tooltip
end

Що я хочу

def tooltip(object)
   tooltip = ""
   object.each do |user|
     tooltip += "#{user.identifier}" + "\n"
   end
   return tooltip
 end

1
Чи розумієте ви різницю між \ n та <br/> в HTML?
— Коул Джонсон

2
<br/> буде працювати над html-стороною візуалізації, тоді як / n відображатиме ваш HTML-код лише в новому рядку
— rajesh kakawat

Я дивився на деякі інші веб-сайти, і вони мають підказки з багаторядкових інструментів без брата
— Меттью Хуй

Відповіді:


265

Ви можете використовувати white-space:pre-wrapпідказку. Це змусить підказку поважати нові рядки. Рядки все одно загортатимуться, якщо вони довші за максимальну ширину контейнера за замовчуванням.

.tooltip-inner {
    white-space:pre-wrap;
}

http://jsfiddle.net/chad/TSZSL/52/

Якщо ви хочете не допустити загортання тексту, виконайте наступне.

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

http://jsfiddle.net/chad/TSZSL/53/

Жоден із них не буде працювати з \nhtml, вони повинні бути фактично новими рядками. Крім того, ви можете використовувати закодовані нові рядки &#013;, але це, мабуть, навіть менш бажано, ніж використання <br>'s.


1
А тепер як це зробити з поповою.
— aaa90210

1
@ aaa90210 ви можете спробувати .popover-content { white-space:pre-wrap; }. Залежно від вашого вмісту .popover-content p { white-space:pre-wrap; }чи чогось подібного може виглядати краще.
— Чад фон Нау

Чи можна показувати змінні JSP у такій підказці? Я спробував <a href="#" rel="tooltip" title="${aaa} ${bbb} ${ccc}" class="example">Show</a>. Але це дає так: aaabbbccc (об'єднані рядки).
— зигімантус

1
.tooltip-Internal {white-space: pre-line;} працює для мене.
— Кішор К

попередній рядок працював для мене - всі інші змусили текст не вирівняти належним чином
— Адам Моїса

221

Ви можете використовувати властивість html: http://jsfiddle.net/UBr6c/

My <a href="#" title="This is a<br />test...<br />or not" class="my_tooltip">Tooltip</a> test.

$('.my_tooltip').tooltip({html: true})

1
Ви не перевірили Bootstrap 2.0.2 (js only)параметр у своєму jsFiddle, завдяки чому він не працює під час початкового запуску (відкрито). Позначте і збережіть його, щоб інші не виконували вимоги, щоб ваш приклад не працював.
— трейдер

56

Якщо ви використовуєте Twitter Bootstrap Tooltip для елемента, що не посилається, ви можете вказати, що потрібно багаторядковий підказку безпосередньо в HTML-коді, без Javascript, використовуючи лише dataпараметр:

<span rel="tooltip" data-html="true" data-original-title="1<br />2<br />3">5</span>

Це лише альтернативна версія відповіді Костала . Вся слава йде йому! :]


2
Чому ви говорите "елемент без зв’язку"? Я спробував це за посиланням, і, здавалося, спрацювало чудово.
— ec2011

2
Ну ... я не пам'ятаю! :] Через п’ять місяців я думаю, що я помилився. Я також не знаю, чому це не повинно працювати над посиланнями. Вибачте ...
— трейдер

1
Цей працював для мене, особливо якщо ви запускаєте підказки з javascript, це буде завантажено в сам елемент, дякую!
— Лев


2

У кутовому інтерфейсі Bootstrap 0.13.X інструмент-html-небезпечний застарілий. Тепер ви повинні використовувати tooltip-html та $ sce.trustAsHtml () для створення підказки з html.

https://github.com/angular-ui/bootstrap/commit/e31fcf0fcb06580064d1e6375dbedb69f1c95f25

<a href="#" tooltip-html="htmlTooltip">Check me out!</a>

$scope.htmlTooltip = $sce.trustAsHtml('I\'ve been made <b>bold</b>!');

0

Рішення CSS для Angular Bootstrap є

::ng-deep .tooltip-inner {
  white-space: pre-wrap;
}

Не потрібно використовувати батьківський елемент чи селектор класів, якщо вам не потрібно обмежувати його використання. Копіювати / макаронні вироби, і це правило стосується всіх підкомпонентів

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.