HTMLツールチップをフォーマットすることは可能ですか?
例えば。属性title = "foo!"を持つDIVがあります。ブラウザのテキストサイズをズームインまたはズームアウトしても、ツールチップのテキストサイズは変更されません。ブラウザの設定でツールヒントのフォントを拡大する方法はありますか?
いいえ。ただし、 Overlib や jQuery など、この自由を可能にする他のオプションがあります。
個人的には、jQueryを使用するルートとして推奨します。通常、非常に目立たず、サイトのマークアップに追加のセットアップは必要ありません(jheadスクリプトタグを<head>に追加することを除く)。
CRには
、LFには

、TABには	
などのエンティティコードを使用してみてください。
例えば:
<div title="1)	A
2)	B">Hover Me</div>
あなたはそれを行うためにcssとトリック(javascriptなし)を使用できるようです:
http://davidwalsh.name/css-tooltips
http://www.menucool.com/tooltip/css-tooltip
彼らは常に言うよりも遅くなることはない。
通常、jQueryを使用してこのような状況を解決します。しかし、javascriptなしのソリューションを必要とするクライアントのサイトで作業するとき、私は次のことを思いつきました。
<div class="hover-container">
<div class="hover-content">
<p>Content with<br />
normal formatting</p>
</div>
</div>
次のcssを使用すると、タイトルと同じ状況になります。
.hover-container {
position: relative;
}
.hover-content {
position: absolute;
bottom: -10px;
right: 10px;
display: none;
}
.hover-container:hover .hover-content {
display: block;
}
これにより、必要に応じてスタイルを設定するオプションも提供され、すべてのブラウザで機能します。 JavaScriptが無効になっているものでも。
いいえ、不可能です。ブラウザにはツールチップを実装する独自の方法があります。できることは、Javascriptを使用してHTMLツールチップのように動作するdivを作成するだけです(ほとんどの場合、単に「ホバーで表示」です)。
これにより、ツールチップdiv内のテキストは実際のHTMLであるため、ブラウザーのズームインまたはズームアウトについて心配する必要はありません。
良いリソースについては、ジョナサンの post をご覧ください。
不可能です。ただし、いくつかのJavaScriptライブラリを使用して、このようなツールチップを作成できます。 http://www.taggify.net/
すべてのネイティブタイトルツールチップを定型化されたノードに変換するこの小さなJavaScript関数を作成しました: http://jsfiddle.net/BurakUeda/g8r8L4vt/1/
mo_title = null;
mo_element = null;
document.onmousemove = function (e) {
var event = e || window.event;
var current_title;
var moposx = e.pageX; // current
var moposy = e.pageY; // mouse positions
var tooltips = document.getElementById("tooltips"); // element for displaying stylized tooltips (div, span etc.)
var current_element = event.target || event.srcElement; // the element we're currently hovering
if (current_element == mo_element) return; // we're still hovering the same element, so ignore
if(current_element.title){
current_title = current_element.title;
} else {
current_title = "-_-_-"; // if current element has no title,
current_element.title = "-_-_-"; // set it to some odd string that you will never use for a title
}
if(mo_element == null){ // this is our first element
mo_element = current_element;
mo_title = current_title;
}
if(mo_title) mo_element.title = mo_title; // restore the title of the previous element
mo_element = current_element; // set current values
mo_title = current_title; // as default
if(mo_element.title){
var mo_current_title = mo_element.title; // save the element title
mo_element.title = ""; // set it to none so it won't show over our stylized tooltip
if(mo_current_title == "-_-_-"){ // if the title is fake, don't display it
tooltips.style.display = "none";
tooltips.style.left = "0px";
tooltips.style.left = "0px";
tooltips.innerHTML = "";
} else {
tooltips.style.display = "inline-block";
tooltips.style.left = (moposx + 10) + "px";
tooltips.style.top = (moposy + 10) + "px";
tooltips.innerHTML = mo_current_title;
}
}
};
#tooltips {
display: none;
position: absolute;
left 0;
top: 0;
color: white;
background-color: darkorange;
box-shadow: black 2px 2px 2px;
padding: 5px;
border-radius:5px;
}
#buttoncontainer{
border: 1px black solid;
padding: 10px;
margin: 5px;
}
<div id="tooltips"></div>
<div>
<div title="DIV #1">Division 1</div>
<div id="buttoncontainer" title="Button container">
<button title="Button with title"> Button #1 </button>
<button> Button w/o title </button>
<button title="
<table border='1' cellpadding='4' cellspacing='0'>
<tr>
<td style='background-color:black; color:white; font-weight:bold; text-align: right'> TITLE #1</td>
<td style='text-decoration:underline; color:RoyalBlue; font-style: italic; font-size: 18px'>Description 1</td>
</tr>
<tr>
<td style='background-color:black; color:white; font-weight:bold; text-align: right'> TITLE #2</td>
<td style='text-decoration:overline; color:RoyalBlue; font-weight:bold; font-size: 14px'>Description 1</td>
</tr>
<tr>
<td style='background-color:black; color:white; font-weight:bold; text-align: right'> TITLE #3</td>
<td style='text-decoration:line-through; color:RoyalBlue; font-style: italic; font-size: 12px'>Description 1</td>
</tr>
</table>
"> Button title containing HTML </button>
</div>
</div
長所:
短所:
おそらくもっとエレガントに書くことができ、不要な行がいくつかあるかもしれません。
また、stackoverflowコードスニペットはHTMLコードを正しく解析できないため、私が提供したjsfiddleリンクで確認してください。
Mootools には、 'more builder'で利用できるNice 'Tips'クラスもあります。
すべてのブラウザまたはサードパーティのツールで動作するかどうかはわかりませんが、改行のツールチップで「\ n」を指定するだけで成功しました。少なくともIE11、Firefox、およびChromeでdhtmlxを使用します
for (var key in oPendingData) {
var obj = oPendingData[key];
this.cells(sRowID, nColInd).cell.title += "\n" + obj["ChangeUser"] + ": " + obj[sCol];
}
これは古い投稿であることは知っていますが、今後の参考のために回答を追加したいと思います。 jQueryとcssを使用してツールチップのスタイルを設定します:最も簡単なツールチップと画像プレビューと使用するjquery(デモ: http://cssglobe.com/lab/tooltip/02/ )静的なWebサイトでは、これはうまくいきました。ただし、Wordpress=への移行中に停止しました。私の解決策は、<br> and <span>
のようなタグを<br> and <span>
に変更することでした。