如何在HTML工具提示中使用回车符?

pen*_*eri 316 html tooltip title

我现在正在向我们的网站添加详细的工具提示,我想(不必诉诸于一个whiz-bang jQuery插件,我知道有很多!)使用回车来格式化工具提示.

要添加提示,我正在使用该title属性.我查看了常用网站并使用以下基本模板:

<a title='Tool?Tip?On?New?Line'>link with tip</a>
Run Code Online (Sandbox Code Playgroud)

我试过更换?:

  • <br />
  • &013; / &#13;
  • \r\n
  • Environment.NewLine (我正在使用C#)

以上都不是.可能吗?

Kor*_*nel 294

最新的规范允许换行符,所以属性或实体内部的一个简单的换行符&#10;(请注意,字符#;为必填项)都OK.

  • &#10; 在IE,Firefox和Chrome中都能很好地工作.谢谢! (11认同)
  • 我试过'&#10;`和`&#13;`.`&#13;`不会在chrome版本50.0.2661.94(64位)中兑现预期的"换行符".`&#10;`在当前版本的chrome,firefox和opera(全部用于64位Ubuntu)和Internet Explorer 11.0版本以及Windows上的一些更改时运行良好. (5认同)
  • 它不支持Chrome,但对Firefox来说很好! (3认同)

Gre*_*reg 282

这很简单,你会踢自己...只需按回车即可!

<a title='Tool
Tip
On
New
Line'>link with tip</a>
Run Code Online (Sandbox Code Playgroud)

Firefox根本不会显示多行工具提示 - 它将无需替换换行符.

  • 这个答案已经过时了,Firefox _does_现在在标题中显示换行符(我正在使用v25).它适用于`\n`,`\ u000A`和`\ x0A`. (63认同)
  • @Halcyon,我尝试将这些转义序列插入到Firefox和Chrome中的`title`属性中,它们只是在工具提示中直接显示.之后,我意识到你可能正在使用该语法作为一种沟通方式,应该使用哪些字符(不是转义序列).我的评论是为了节省其他人的时间,警告他们不要试图将你的转义序列放在他们的HTML中,这样他们就不会像我那样浪费时间. (13认同)
  • @Tarquin它们不能用于HTML,它们只是专门用于PHP的双引号,因为这是PHP双引号的一个特性. (4认同)
  • @Sam我不明白你的意思.`\ x0A`(byte)是与换行符对应的字符代码.对于`\ u000A`(unicode)也是如此.`\n`也是换行符. (3认同)

Ste*_*Mai 74

尝试使用角色10.虽然它不适用于Firefox.:(

以浏览器相关的方式显示文本(如果有的话).小工具提示适用于大多数浏览器.IE和Safari中的长工具提示和换行工作(使用&#10;&#13;换行换行).Firefox和Opera不支持换行.Firefox不支持长工具提示.

http://modp.com/wiki/htmltitletooltips

更新:

截至2015年1月,Firefox支持使用&#13;在HTML title属性中插入换行符.请参阅下面的代码段示例.

<a href="#" title="Line 1&#13;Line 2&#13;Line 3">Hover for multi-line title</a>
Run Code Online (Sandbox Code Playgroud)

  • 链接是DEAD (3认同)
  • 截至2015年1月,Firefox支持在`title`属性中使用`&#13;`来插入换行符. (3认同)
  • +1.如果您决定使用jQuery插件,为了获得最佳的可访问性,它应该从title属性中读取其内容,并在运行时替换一些任意不可见的字符作为换行符. (2认同)

Mor*_*ldt 64

在IE,Chrome,Safari,Firefox中测试过(最新版本2012-11-27):
&#13;

适用于所有这些......

  • 在哪个平台上?`&#10;`是unix` \n`. (2认同)
  • @matty不确定我是否理解你 - 正确使用的东西似乎是unix`LF`(这是一种跨协议和工具的标准换行),`CR`只用于旧Mac(以及其他模糊平台)并且似乎没有的地方. (2认同)
  • 平原&#13; 在Linux上不适用于chrome.序列&#13;&#10; 然而,确实如此. (2认同)

cpr*_*ack 49

另外值得一提的是,如果你用这样的Javascript设置title属性:

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

它不会起作用.您必须将ASCII十进制10替换为ASCII十六进制A,其方式是使用Javascript进行转义.像这样:

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

  • `"Line one \nLine two"`也有效,IMO更具可读性. (14认同)

amu*_*rra 27

从Firefox 12开始,他们现在支持使用换行HTML实体的换行符: &#10;

<span title="First line&#10;Second line">Test</span>
Run Code Online (Sandbox Code Playgroud)

这适用于IE,并且根据title属性的HTML5规范是正确的.


Ani*_*dia 15

如果你使用jQuery:

$(td).attr("title", "One \n Two \n Three");
Run Code Online (Sandbox Code Playgroud)

将工作.

在IE-9中测试:工作.


Jua*_*tés 15

作为对&#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>
Run Code Online (Sandbox Code Playgroud)

演示

在此输入图像描述


Dav*_*ber 14

在 Chrome 79 上,&#13;不再工作。

我成功了:

&#13;&#10;

这适用于所有主要浏览器。


Gre*_*ean 8

&#13; 将适用于所有主要浏览器(包括IE)

  • 这个答案已经过时了; &#13; 适用于Chrome和其他浏览器. (13认同)

Ric*_*Zea 7

我知道我已经迟到了,但对于那些只想看到这个工作的人来说,这是一个演示: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>
Run Code Online (Sandbox Code Playgroud)

  • 最新的响应,在Firefox上运行良好.谢谢. (2认同)

csa*_*as1 7

&#013;如果您只使用简单的 title 属性,这应该可以工作。

在引导弹出窗口上,只需data-html="true"data-content属性中使用和使用 html 。

<div title="Hello &#013;World">hover here</div>
Run Code Online (Sandbox Code Playgroud)


xam*_*mir 6

我们需要测试所有这些,这是我希望分享的内容

document.getElementById("tooltip").setAttribute("title", "Tool\x0ATip\x0AOn\x0ANew\x0ALine")
Run Code Online (Sandbox Code Playgroud)
<p title='Tool
Tip
On
New
Line'>Tooltip with <pre>
  new 
  line</pre> Works in all browsers</p>
<hr/>

<p title="Tool&#13;Tip&#13;On&#13;New&#13;Line">Tooltip with <code>&amp;#13;</code> Not works Firefox browsers</p>
<hr/>

<p title='Tool&#10;Tip&#10;On&#10;New&#10;Line'>Tooltip with <code>&amp;#10;</code> Works in some browsers</p>
<hr/>

<p title='Tool&#x0aTip&#x0aOn&#x0aNew&#x0aLine'>Tooltip with <code>&amp;#xD;</code> May work in some browsers</p>
<hr/>

<p id='tooltip'>Tooltip with <code>document.getElementById("tooltip").setAttribute("title", "Tool\x0ATip\x0AOn\x0ANew\x0ALine")</code> May work in some browsers</p>
<hr/>


<p title="List:
  • List item here
  • Another list item here
  • Aaaand another list item, lol">Tooltip with <code>• </code>Unordered list tooltip</p>
<hr/>


<p title='Tool\nTip\nOn\nNew\nLine'>Tooltip with <code>\n</code> May not work in modern browsers</p>
<hr/>

<p title='Tool\tTip\tOn\tNew\tLine'>Tooltip with <code>\t</code> May not work in modern browsers</p>
<hr/>

<p title='Tool&#013;Tip&#013;On&#013;New&#013;Line'>Tooltip with <code>&amp;#013;</code> Works in most browsers</p>
<hr/>
Run Code Online (Sandbox Code Playgroud)

小提琴


rob*_*rke 5

我不相信.Firefox 2无论如何都会修剪长链接标题,它们实际上只能用于传达少量的帮助文本.如果您需要更多解释文本,我建议它属于与链接相关联的段落.然后,您可以添加工具提示javascript代码以隐藏这些段落并在悬停时将其显示为工具提示.这是让它跨浏览器IMO工作的最佳选择.


小智 5

&#xD; <-----这是插入Carry Return所需的文本.


Reh*_*aja 5

在Chrome 16以及可能的早期版本中,您可以使用"\n".作为旁注,"\ t"也有效


小智 5

只需使用这个:

<a title='Tool&#x0aTip&#x0aOn&#x0aNew&#x0aLine'>link with tip</a>
Run Code Online (Sandbox Code Playgroud)

您可以使用 this 在标题上添加新行&#x0a


Wel*_*boy 5

只需使用 JavaScript。然后与大多数和旧浏览器兼容。使用转义序列 \n 换行。

   document.getElementById("ElementID").title = 'First Line text \n Second line text'
Run Code Online (Sandbox Code Playgroud)


You*_*ans 5

至于谁&#10;没有工作,你必须设置可见线条的元素:white-space: pre-line;

参考本答案:https://stackoverflow.com/a/17172412/1460591