我目前正在为我们的网站添加冗长的工具提示,我想(不必求助于一个神奇的jQuery插件,我知道有很多!)使用回车来格式化工具提示。

为了添加提示,我使用了title属性。我环顾了一下常用的网站,并使用了基本的模板:

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

我试过更换?:

< br / > &013;/ & # 13; \ r \ n 环境。换行符(我使用c#)

以上方法都行不通。这可能吗?


当前回答

只需使用JavaScript。然后它与大多数和较老的浏览器兼容。

换行使用转义序列\n。

document.getElementById("ElementID").title = 'First Line text \n Second line text'

其他回答

只是分享我看到的小bug:

在Chrome 103中使用以下html:

<!DOCTYPE html > < html > <身体> <select title="Line 1:&#13;&#13;Line 2"> 测试<选项值= " 0 " > < /选项> < /选择> < /身体> < / html >

我看到了这个:

在截图上-“第一行:”文本后的两个奇怪的字符,第一行。

修复: (我不知道哪个是正确的/有效的,但它们都可以作为修复(在Chrome 103中))

在第一行之后添加空格(字符):在第一个&#13之前;修复它 先改变&#13;& # 10;全行标题="第一行:&#10;&#13;第2行" 添加,在第一行之后:在第一个&#13; 也在改变&#13;“回车符号”将修复它

这是一个黑客,但它的工作-(在谷歌Chrome和移动测试)

只需要添加不间断空格,直到它中断-你可能需要根据内容的数量限制工具提示的大小,但对于小文本消息,这是有效的:

&nbsp;&nbsp; etc

我尝试了上面的所有方法,这是唯一对我有效的方法。

这里是一个演示: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>

最新的规范允许换行字符,因此在属性或实体&#10中使用简单的换行符;(注意字符#和;是必需的)都可以。

值得一提的是,如果你用JavaScript设置title属性,如下所示:

divElement。setAttribute("title", "第一行&#10;第二行");

这是行不通的。你必须将ASCII十进制10替换为ASCII十六进制a按照JavaScript转义的方式。是这样的:

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