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

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

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

我试过更换?:

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

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


当前回答

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

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

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

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

其他回答

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

换行使用转义序列\n。

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

& # 13;可在所有主流浏览器(包括IE)上运行

试试第10个字符。直到2015年1月,它还不能在Firefox中运行。

文本(如果有的话)显示在 依赖浏览器的方式。小 工具提示适用于大多数浏览器。长 IE中的工具提示和换行 和Safari(使用&#10;或& # 13;对于一个 新换行符)。Firefox和Opera则不然 支持换行。Firefox则没有 支持长工具提示。

http://modp.com/wiki/htmltitletooltips

Firefox现在支持使用&#13;在HTML标题属性中插入换行符。请参阅下面的代码片段示例。

<a href="#" title="第1行&#13;第2行&#13;第3行">悬停多行标题</a>

根据W3C网站上的这篇文章:

CDATA是来自文档字符集和的字符序列 可能包括字符实体。用户代理应该解释属性 取值如下: 用字符替换字符实体, 忽略换行, 用一个空格替换每个回车或制表符。

这意味着(至少)CR和LF在title属性中不起作用。我建议你使用工具提示插件。大多数插件都允许将任意HTML显示为元素的工具提示。

剃须刀的语法

在ASP的情况下。NET MVC,你可以把标题存储为变量,作为\r\n,就可以了。

@{
    var logTooltip = "Sunday\r\nMonday\r\netc.";
}

<h3 title="@logTooltip">Logs</h3>