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

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

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

我试过更换?:

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

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


当前回答

可以手动创建更漂亮的工具提示,并可以包含HTML格式。

<!DOCTYPE html>
<html>
<style>
.tooltip {
    position: relative;
    display: inline-block;
    border-bottom: 1px dotted black;
}

.tooltip .tooltiptext {
    visibility: hidden;
    width: 120px;
    background-color: #555;
    color: #fff;
    text-align: center;
    border-radius: 6px;
    padding: 5px 0;
    position: absolute;
    z-index: 1;
    bottom: 125%;
    left: 50%;
    margin-left: -60px;
    opacity: 0;
    transition: opacity 0.3s;
}

.tooltip .tooltiptext::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: #555 transparent transparent transparent;
}

.tooltip:hover .tooltiptext {
    visibility: visible;
    opacity: 1;
}
</style>
<body style="text-align:center;">

<h2>Tooltip</h2>
<p>Move the mouse <a href="#" title="some text
more&#13;&#10;and then some">over</a> the text below:</p>

<div class="tooltip">Hover over me
<span class="tooltiptext">Tooltip text
some <b>more</b><br/>
<i>and</i> more</span>
</div>

<div class="tooltip">Each tooltip is independent
<span class="tooltiptext">Other tooltip text
some more<br/>
and more</span>
</div>

</body>
</html>

这是来自W3Schools的帖子。在这里试验一下上面的代码。

其他回答

只是分享我看到的小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;“回车符号”将修复它

我试过&#10;在新的一行显示标题文本,它的工作就像一个魅力。

从Firefox 12开始,他们现在支持使用换行HTML实体的换行:&#10;

<span title="First line&#10;Second line">Test</span>

这在IE中工作,并且根据HTML5的title属性规范是正确的。

如果你试图在一个React项目中这样做,你将以下面的格式呈现:

title={`First line of text ${varOne} &#13; Second line of text ${varTwo} &#13; Third line of text ${varThree}`}

那么&#13;,&#10;类似的解决方案并不奏效。它们实际上会呈现为文本。

相反,根据需要实际创建文本是更好的选择。为了更好地理解,举个例子:

title={`First line of text ${varOne}
Second line of text ${varTwo}
Third line of text ${varThree}`}

确保在“第二行文本”和“第三行文本”之前删除制表符/空格缩进。否则他们也会渲染。

它在谷歌Chrome 96和Firefox 95.0b12(开发者版,因为,为什么不呢)上进行了测试。它应该也适用于大多数现代浏览器。

试试第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>