如何在 HTML 的标题属性中添加新的换行符/换行符 [重复]

Posted

技术标签:

【中文标题】如何在 HTML 的标题属性中添加新的换行符/换行符 [重复]【英文标题】:How can I add new line/linebreak character in title attribute in HTML [duplicate] 【发布时间】:2013-09-07 13:11:21 【问题描述】:

我正在使用这个

<a href="#" title="select from 1: this 2: that" > Click here </a>

当有人将鼠标悬停在它上面时,我会在一行中看到所有文本。

有什么方法可以在新行显示吗?

【问题讨论】:

***.com/a/246451/2261259 【参考方案1】:

<a href="#" title="select from 
1: this 
2: that" >Click here</a>

【讨论】:

但是如果我从数据库动态生成它呢?我需要放什么字符 @user26 你需要换行。例如,在 php 中,你会这样做:echo '&lt;a title="one\ntwo"&gt;';。如果您要从数据库中打印某些内容,请记住使用 htmlspecialchars 进行正确的转义。 如果您想要换行符但又不想弄乱您的 HTML,请使用 &amp;#13;【参考方案2】:

当您将此标记为可访问性时,我想说最可靠的方法是不要依赖标题来获取信息。

current HTML spec 不鼓励这种使用方式,因为无法使用鼠标(例如由于行动不便)但使用键盘并看到屏幕的用户永远不会看到您的工具提示/标题文本。使用触摸屏的人无法访问它。

大多数使用屏幕阅读器的人也不会知道标题文本,尽管可以在大多数屏幕阅读器中访问它默认情况下不会读出,并且必须有人知道才能查找它。 (还有there are more issues。)

规范建议使用此换行符:

如果标题属性的值包含“LF”(U+000A) 字符,则内容被分成多行。每个“LF”(U+000A)字符代表一个换行符。

但是,新行的显示取决于浏览器 (How can I use a carriage return in a HTML tooltip)。

我怀疑整体 UI 方法需要更多考虑,因为许多人会被您示例中的那种指令混淆,即如果有多个选项,单击它会实现什么?

如果您的情况难以write good link text,那么我会在UX stackexchange 上发布更多有关互动的信息。

【讨论】:

【参考方案3】:

如果你是动态生成的,就把\n

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

这是使用 Jquery 框架。

【讨论】:

【参考方案4】:

您可以使用&amp;#013;&amp;#010;

<a href="#" title="select from 1: this &#013; 2: that" >Click here</a>

<a href="#" title="select from 1: this &#010; 2: that" >Click here</a>

【讨论】:

这在 Chrome 43 中不起作用。它在哪里起作用? @matty 在未来的 Chrome 66 中。 在 fedora (linux) 中的 Version 68.0.3440.106 (Official Build) (64-bit) 中不工作 在 Chrome 中只有 &amp;#10; 工作。 &amp;#013;&amp;#010; 在 Chrome 和 Firefox 中都适用于我。

以上是关于如何在 HTML 的标题属性中添加新的换行符/换行符 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何使用css让td中的文字自动换行

label里的文字如何换行啊??

如何在不使用 HTML 的情况下向 JLabel 添加换行符

字符串属性中的换行符

如何在 Swift 3 中将 HTML 文本转换为属性字符串而不丢失换行符 [重复]

如何在 Matlab 中的 HDF5 属性字符串中放置换行符