如何在HTML工具提示中使用回车?
我目前在我们的网站中添加了详细的工具提示,我想(不必诉诸于一个聪明的jQuery插件,我知道有很多!)使用回车来格式化工具提示。
要添加提示,我使用title
属性。 我浏览了通常的网站,并使用以下基本模板:
<a title='Tool?Tip?On?New?Line'>link with tip</a>
我试过替换?
有:
-
<br />
-
&013; /
-
\r\n
-
Environment.NewLine
(我正在使用C#)
以上都不是。 可能吗?
这是如此简单,你会踢自己…只需按输入!
<a title='Tool Tip On New Line'>link with tip</a>
Firefox根本不会显示多行的工具提示 – 它将不会替代换行符。
最新的规范允许换行字符,所以在属性或实体内简单的换行符
(注意字符#
和;
是必需的)都可以。
这在所有当前的浏览器中都不起作用,所以请确保您的文本在删除换行符的情况下有意义。
尝试字符10.它不会在Firefox中工作。 🙁
文本以浏览器依赖的方式显示(如果有的话)。 小工具提示可在大多数浏览器上使用。 在IE和Safari中使用长工具提示和换行符(使用
或
换一个新的换行符)。 Firefox和Opera不支持换行符。 Firefox不支持长工具提示。
http://modp.com/wiki/htmltitletooltips
更新:
截至2015年1月,Firefox支持使用
在HTML title
属性中插入换行符。 看下面的代码片段。
<a href="#" title="Line 1 Line 2 Line 3">Hover for multi-line title</a>
在IE,Chrome,Safari,Firefox(最新版本2012-11-27)测试过
在他们所有的作品…
另外值得一提的是,如果你使用JavaScript来设置title属性:
divElement.setAttribute("title", "Line one Line two");
它不会工作。 你必须以它用Javascript转义的方式将ASCII十进制10替换为ASCII十六进制A. 喜欢这个:
divElement.setAttribute("title", "Line one\x0ALine two");
从Firefox 12开始,他们现在使用换行HTML实体来支持换行符:
<span title="First line Second line">Test</span>
这适用于IE,根据title属性的HTML5规范是正确的。
如果你正在使用jQuery:
$(td).attr("title", "One \n Two \n Three");
将工作。
在IE-9测试:工作。
作为贡献的
解决方案,我们也可以使用	
标签,如果你需要做这样的事情。
<button title="My to-do list:
	-Item 2
	-Item 3
	-Item 4
		-Subitem 1">TEST</button>
我不相信。 Firefox 2无论如何都会修剪很长的链接标题,它们只能用来传递少量的帮助文本。 如果你需要更多的解释文字,我会建议它属于与链接相关的段落。 然后,您可以添加工具提示JavaScript代码来隐藏这些段落,并将其显示为悬停时的工具提示。 这是你最好的选择,让它跨浏览器IMO工作。
将只在工作

<—–这是插入进位返回所需的文本。
在Chrome 16以及更早的版本中,您可以使用“\ n”。 作为旁注,“\ t”也适用
只需使用这个:
<a title='Tool
Tip
On
New
Line'>link with tip</a>
您可以使用此

在标题上添加新行。
我知道我迟到了,但对于那些只是想看到这个工作,这里是一个演示: http : //jsfiddle.net/rzea/vsp6840b/3/
使用的HTML:
<a href="#" title="First Line
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>
至于谁呢
没有工作,你必须风格线条可见的元素为: white-space: pre-line;
引用此答案: https : //stackoverflow.com/a/17172412/1460591
只需使用JavaScript。 然后与大多数和更旧的浏览器兼容。 使用转义序列\ n作为换行符。
document.getElementById("ElementID").title = 'First Line text \n Second line text'
从可用性信息和使用工具提示使得使用CR或换行符的工具提示得到赞赏,各种浏览器无法/不会同意基本事实表明他们并不太在乎可访问性。
根据w3c网站上的这篇文章 :
CDATA是文档字符集中的一系列字符,可能包含字符实体。 用户代理应该如下解释属性值:
- 用字符替换字符实体,
- 忽略换行,
- 用一个空格替换每个回车符或制表符。
这意味着(至少)CR和LF在标题属性中不起作用。 我建议你使用工具提示插件。 大多数这些插件允许任意的HTML显示为元素的工具提示。
我们有一个要求,我们需要测试所有这些,这是我想分享
document.getElementById("tooltip").setAttribute("title", "Tool\x0ATip\x0AOn\x0ANew\x0ALine")
<p title='Tool Tip On New Line'>Tooltip with <pre> new line</pre> Works in all browsers</p> <hr/> <p title="Tool Tip On New Line">Tooltip with <code>&#13;</code> Not works Firefox browsers</p> <hr/> <p title='Tool Tip On New Line'>Tooltip with <code>&#10;</code> Works in some browsers</p> <hr/> <p title='Tool
Tip
On
New
Line'>Tooltip with <code>&#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
Tip
On
New
Line'>Tooltip with <code>&#013;</code> Works in most browsers</p> <hr/>
黑客,但作品 – (在铬和移动测试)
只是不添加休息空间,直到它休息 – 你可能不得不限制工具提示的大小取决于内容的数量,但对于小文本消息这是可行的:
etc
试过以上的一切,这是唯一的工作对我来说 –
剃刀语法
在ASP.NET MVC的情况下,您可以将标题作为变量存储为\r\n
并且可以工作。
@{ var logTooltip = "Sunday\r\nMonday\r\netc."; } <h3 title="@logTooltip">Logs</h3>