Как я могу использовать возврат каретки в подсказке HTML? - PullRequest
294 голосов
/ 11 декабря 2008

В настоящее время я добавляю подробные всплывающие подсказки на наш сайт, и я бы хотел (без необходимости прибегать к плагину jQuery со свистом-взрывами, я знаю, что их много!) Использовать возврат каретки для форматирования всплывающей подсказки.

Чтобы добавить подсказку, я использую атрибут title. Я просмотрел обычные сайты и использовал базовый шаблон:

<a title='Tool?Tip?On?New?Line'>link with tip</a>

Я пытался заменить ? на:

  • <br />
  • &013; / &#13;
  • \r\n
  • Environment.NewLine (я использую C #)

Ничего из вышеперечисленного не работает. Возможно ли это?

Ответы [ 24 ]

272 голосов
/ 11 декабря 2008

Последняя спецификация допускает символ перевода строки, поэтому простой разрыв строки внутри атрибута или объекта &#10; (обратите внимание, что символы # и ; обязательны).

270 голосов
/ 11 декабря 2008

Это так просто, что вы ударите себя ... просто нажмите ввод!

<a title='Tool
Tip
On
New
Line'>link with tip</a>

Firefox вообще не будет отображать многострочные всплывающие подсказки - он заменит символы новой строки ничем.

71 голосов
/ 11 декабря 2008

Попробуйте символ 10. Хотя он не будет работать в Firefox. (

Текст отображается (если есть) в зависящий от браузера способ. Маленький всплывающие подсказки работают в большинстве браузеров. Долго всплывающие подсказки и разрыв строки работают в IE и Safari (используйте &#10; или &#13; для новая новая строка). Firefox и Opera не делают поддержка новых строк. Firefox не поддержка длинных подсказок.

http://modp.com/wiki/htmltitletooltips

Обновление:

По состоянию на январь 2015 года Firefox поддерживает использование &#13; для вставки разрыва строки в атрибут HTML title. См. Пример фрагмента ниже.

<a href="#" title="Line 1&#13;Line 2&#13;Line 3">Hover for multi-line title</a>
65 голосов
/ 27 ноября 2012

Проверено в IE, Chrome, Safari, Firefox (последние версии 2012-11-27):
&#13;

Работает во всех из них ...

46 голосов
/ 03 ноября 2012

Также стоит упомянуть, если вы устанавливаете атрибут заголовка с помощью Javascript следующим образом:

divElement.setAttribute("title", "Line one&#10;Line two");

Это не сработает. Вы должны заменить десятичную ASCII-цифру 10 на шестнадцатеричную A-кодировку ASC так, чтобы она была в Javascript Как это:

divElement.setAttribute("title", "Line one\x0ALine two");

25 голосов
/ 25 апреля 2012

Начиная с Firefox 12, теперь они поддерживают разрывы строк с помощью HTML-сущности перевода строки: &#10;

<span title="First line&#10;Second line">Test</span>

Это работает в IE и является правильным в соответствии со спецификацией HTML5 для атрибута title .

15 голосов
/ 18 октября 2012

Если вы используете jQuery:

$(td).attr("title", "One \n Two \n Three");

будет работать.

протестировано в IE-9: работает.

14 голосов
/ 20 сентября 2016

В качестве вклада в решение &#013; мы также можем использовать &#009 для вкладок, если вам когда-нибудь понадобится что-то подобное.

<button title="My to-do list:&#013;&#009;-Item 2&#013;&#009;-Item 3&#013;&#009;-Item 4&#013;&#009;&#009;-Subitem 1">TEST</button>

Демо

enter image description here

7 голосов
/ 11 декабря 2008

&#13; будет работать во всех основных браузерах (включая IE)

7 голосов
/ 03 ноября 2014

Я знаю, что опаздываю на вечеринку, но для тех, кто просто хочет, чтобы это сработало, вот демо: http://jsfiddle.net/rzea/vsp6840b/3/

Используемый HTML:

<a href="#" title="First Line&#013;Second Line">Multiline Tooltip</a>
<br>
<br>
<a href="#" title="List:
  • List item here
  • Another list item here
  • Aaaand another list item, lol">Unordered list tooltip</a>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...