HTML ツールチップでキャリッジ リターンを使用するにはどうすればよいですか?
質問
現在、サイトに冗長なツールチップを追加しているのですが、(すごい jQuery プラグインに頼る必要はありません。たくさんあるのはわかっていますが!)キャリッジ リターンを使用してツールチップの書式を設定したいと考えています。
チップを追加するために私が使用しているのは、 title
属性。私は通常のサイトを調べて、次の基本テンプレートを使用しました。
<a title='Tool?Tip?On?New?Line'>link with tip</a>
交換してみました ?
と:
<br />
&013; /
\r\n
Environment.NewLine
(C#を使用しています)
上記のどれも機能しません。出来ますか?
解決
それはあなたが自分自身を蹴るますので、簡単です... Enterキーを押すだけです!
<a title='Tool
Tip
On
New
Line'>link with tip</a>
Firefoxは複数行にかかわらず、まったくツールチップ表示されません - それは何も改行に置き換えられます。
。他のヒント
これはしかし、Firefoxで動作しません文字10を試してみてください。 :(
テキストが中に(全くの場合)が表示されます ブラウザ依存的。小さい ツールチップは、ほとんどのブラウザ上で動作します。長いです 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、クローム、サファリ、Firefoxでこれをテスト(最新バージョン2012年11月27日):
それらのすべてで動作します...
また言及する価値が、あなたはこのようにJavaScriptでtitle属性を設定する場合:
divElement.setAttribute("title", "Line one Line two");
これは動作しません。あなたはそれはJavaScriptを使用してエスケープしていますように、ASCIIの16進数のAにそのASCII進10を交換する必要があります。このように:
divElement.setAttribute("title", "Line one\x0ALine two");
Firefox 12 では、改行 HTML エンティティを使用した改行がサポートされるようになりました。
<span title="First line Second line">Test</span>
これは IE で動作し、HTML5 仕様に従って正しいものです。 タイトル属性.
あなたはjQueryのを使用している場合:
$(td).attr("title", "One \n Two \n Three");
に動作します。
IE-9でテスト:作業
知っていいのだということを、ここでのデモ: 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>
は、すべてのメジャーなブラウザ(IEが含まれている)上で動作します。
私たちは、これらのすべてをテストするために必要な要件を、ここで私が共有したいものです持っていた。
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/>
私はそれがあるとは思いません。 Firefox 2がとにかく長いリンクタイトルをトリミングし、彼らは本当に唯一のヘルプテキストの少量を伝えるために使用する必要があります。あなたはより多くの説明テキストが必要な場合、私はそれがリンクに関連付けられた段落に属していることを示唆しています。あなたはそれらの段落を非表示にし、ホバー上のツールチップとしてそれらを表示するにはjavascriptのコードツールチップを追加することができます。つまり、クロスブラウザIMO動作するように取得するための最善の策です。

<-----これは、キャリーリターンを挿入するために必要なテキストです。
クロム16、そしておそらくそれ以前のバージョンでは、「\ n」を使用することができます。追記として、 "\ tは" も動作します。
:誰のためwhite-space: pre-line;
が機能しなかったとしてあなたは行がように見えるされている要素のスタイルを持っています
この回答から参照: https://stackoverflow.com/a/17172412/1460591 の
のただ、これを使用します
あなたはこの<a title='Tool
Tip
On
New
Line'>link with tip</a>


を使用して、タイトルに新しい行を追加することができます。
ただ、JavaScriptを使用しています。そして、ほとんどのと古いブラウザとの互換性。 改行をエスケープシーケンス\ nを使用します。
document.getElementById("ElementID").title = 'First Line text \n Second line text'
のアクセシビリティについて入手可能な情報から、そしてCRや改行を使用すると、それらを大きくするツールチップの使用が評価され、さまざまなブラウザは/基本的に同意しないだろうことができないという事実は、彼らがについて多くないように注意して行うことを示していますアクセス。
このよう 第に、w3cのwebサイト:
CDATAは文字シーケンスからのドキュメントの文字セット、 を含む文字ます。ユーザーエージェントが解釈するべき属性 値として
- 置換文字体と文字
- 無線フィード
- 取り替えキャリッジリターンまたはタブルスペース。
すること(少なくとも)CR、LFな内部タイトル属性。をご提案いたしますが、ツールチップの引き出しおよび設定ができますこれらの多くのプラグインを任意のHTMLを表示する要素としてのツールチップ.
この
は動作するはずです。
ブートストラップpopoversに、ちょうどdata-html="true"
を使用してdata-content
属性にHTMLを使用しています。
<div title="Hello 
World">hover here</div>
非常に良く見ているツールチップは、手動で作成することができ、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 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のは、この上に投稿から取られています。 ここを上記のコードを試してみます。
カミソリの構文
の場合ASP.NET MVCできるだけのタイトル変数としてとして使用 \r\n
でんです。
@{
var logTooltip = "Sunday\r\nMonday\r\netc.";
}
<h3 title="@logTooltip">Logs</h3>
ハックが、動作します - (クロームやモバイル上でテスト)
それが壊れるまでちょうど何の休憩スペースを追加しない - あなたがこの作品コンテンツの量が、小さなテキストメッセージのために依存するツールチップのサイズを制限する必要がある場合があります:
etc
上記のすべてのものを試してみましたが、これは私のために働いていた唯一のものである -
data-html="true"
を使用して<br>
を適用します。