如何在HTML中的title属性中添加新换行符

use*_*r26 15 html css accessibility hover

我正在使用这个

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

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

有没有办法在新线上显示它?

小智 25

试试这个代码吧

<a href="#" title="select from 1: this &#013; 2: that" > Click here </a>
Run Code Online (Sandbox Code Playgroud)

  • @matty在未来的Chrome 66中. (8认同)
  • 这在Chrome 43中不起作用.它在哪里工作? (3认同)
  • 如果它们不能单独为您的浏览器工作,请尝试将两者一起使用,这样应该可以解决问题,“ &#13;”。 (3认同)
  • 在 Fedora (linux) 的 `Version 68.0.3440.106 (Official Build) (64-bit)` 中不起作用 (2认同)
  • 在 Chrome 中,只有“ ”有效。 (2认同)

Ala*_*irC 10

当你用可访问性标记这个时,我会说最强大的方法不是依赖于标题来获取信息.

当前的HTML规范鼓励使用谁不能使用鼠标(例如,由于行动不便)这用作人而是用键盘和看到的画面将永远不会看到你的提示/标题文本.使用触摸屏的人无法访问它.

大多数使用屏幕阅读器的人也不会知道标题文本,虽然可以在大多数屏幕阅读器中访问它,但默认情况下不会读出,有人必须知道要查找它.(还有更多问题.)

规范建议使用它来换行:

如果title属性的值包含"LF"(U + 000A)字符,则内容将分为多行.每个"LF"(U + 000A)字符代表换行符.

但是,新行的显示取决于浏览器(如何在HTML工具提示中使用回车).

我怀疑整体UI方法需要多一点思考,因为许多人会对你的例子中的那种指令感到困惑,即如果有多个选项,点击它会实现什么?

如果您的情况难以编写好的链接文本,那么我会在UX stackexchange上发布更多有关交互的内容.


Gau*_*rav 9

如果你动态生成它\n

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


vis*_*kin 5

<a href="#" title="select from 
1: this 
2: that" > Click here </a>
Run Code Online (Sandbox Code Playgroud)

  • 但是如果我从数据库动态生成该怎么办。我需要把什么角色 (2认同)
  • @user26您需要换行。例如,在 PHP 中,您可以执行:`echo '&lt;a title="one\ntwo"&gt;';`。如果您要从数据库中打印某些内容,请记住使用“htmlspecialchars”进行正确的转义。 (2认同)
  • 如果您想要换行符但又不想弄乱 HTML,请使用“&#13;”。 (2认同)