Is it possible to format an HTML tooltip (title attribute)?

HtmlTooltip

Html Problem Overview


Is it possible to format an HTML tooltip?

E.g. I have a DIV with attribute title="foo!". When I have text-size of my browser zoomed in or out in, the text size of the tooltip remains unchanged. Is there a way to make the tooltip font scale with the browser setting?

Html Solutions


Solution 1 - Html

Try using entity codes such as 
 for CR, 
 for LF, and 	 for TAB.

For example:

<div title="1)&#009;A&#013;&#010;2)&#009;B">Hover Me</div>

Solution 2 - Html

No. But there are other options out there like Overlib, and jQuery that allow you this freedom.

Personally, I would suggest jQuery as the route to take. It's typically very unobtrusive, and requires no additional setup in the markup of your site (with the exception of adding the jquery script tag in your <head>).

Solution 3 - Html

Solution 4 - Html

Better late than never, they always say.

Normally I'd use jQuery to solve such a situation. However, when working on a site for a client which required a javascript-less solution, I came up with the following:

<div class="hover-container">
    <div class="hover-content">
        <p>Content with<br />
        normal formatting</p>
    </div>
</div>

By using the following css, you get the same situation as with a title:

.hover-container {
    position: relative;
}

.hover-content {
    position: absolute;
    bottom: -10px;
    right: 10px;
    display: none;
}

.hover-container:hover .hover-content {
    display: block;
}

This gives you the option to style it according to your needs as well, and it works in all browsers. Even the ones where javascript is disabled.

Pros:

  • You have a lot of influence on the styling
  • It works in (nearly) all browsers

Cons:

  • It's harder to position the tooltip

Solution 5 - Html

In bootstrap tooltip just use data-html="true"

Solution 6 - Html

No, it's not possible, browsers have their own ways to implement tooltip. All you can do is to create some div that behaves like an HTML tooltip (mostly it's just 'show on hover') with Javascript, and then style it the way you want.

With this, you wouldn't have to worry about browser's zooming in or out, since the text inside the tooltip div is an actual HTML, it would scale accordingly.

See Jonathan's post for some good resource.

Solution 7 - Html

Not sure if it works with all browsers or 3rd party tools, but I have had success just specifying "\n" in tooltips for newline, works with dhtmlx in at least ie11, firefox and chrome

for (var key in oPendingData) {
    var obj = oPendingData[key];
    this.cells(sRowID, nColInd).cell.title += "\n" + obj["ChangeUser"] + ": " + obj[sCol];
}

Solution 8 - Html

Mootools also has a nice 'Tips' class available in their 'more builder'.

Solution 9 - Html

I know this is an old post but I would like to add my answer for future reference. I use jQuery and css to style my tooltips: easiest-tooltip-and-image-preview-using-jquery (for a demo: http://cssglobe.com/lab/tooltip/02/) On my static websites this just worked great. However, during migrating to Wordpress it stopped. My solution was to change tags like <br> and <span> into this: &lt;br&gt; and &lt;span&gt; This works for me.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionsunflowerpowerView Question on Stackoverflow
Solution 1 - HtmlLouisView Answer on Stackoverflow
Solution 2 - HtmlSampsonView Answer on Stackoverflow
Solution 3 - Htmlmatteo galiazzoView Answer on Stackoverflow
Solution 4 - HtmlSander KoedoodView Answer on Stackoverflow
Solution 5 - HtmlmiroszView Answer on Stackoverflow
Solution 6 - HtmlandykView Answer on Stackoverflow
Solution 7 - HtmlaggatonView Answer on Stackoverflow
Solution 8 - HtmlTJ LView Answer on Stackoverflow
Solution 9 - HtmlJurgenView Answer on Stackoverflow