Easily create a nice looking tooltip.
To apply this component, add the uk-tooltip attribute to an element. You also need to add the title: TEXT option to the attribute, whose value will represent your tooltip’s text.
<div uk-tooltip="title: Hello World"></div>
If title is the only option in the attribute value, you can also use uk-tooltip="TEXT"
<div uk-tooltip="Hello World"></div>
<button class="uk-button uk-button-default" uk-tooltip="Hello World">
Hover
</button> Add one of the following options to the uk-tooltip attribute to adjust the tooltip’s alignment.
<button uk-tooltip="title: Hello World; pos: top-left"></button>
| Attribute | Description |
|---|---|
pos: top | Aligns the tooltip to the top. |
pos: top-left | Aligns the tooltip to the top left. |
pos: top-right | Aligns the tooltip to the top right. |
pos: bottom | Aligns the tooltip to the bottom. |
pos: bottom-left | Aligns the tooltip to the bottom left. |
pos: bottom-right | Aligns the tooltip to the bottom right. |
pos: left | Aligns the tooltip to the left. |
pos: right | Aligns the tooltip to the right. |
<p uk-margin>
<button class="uk-button uk-button-default" uk-tooltip="Hello World">
Top
</button>
<button
class="uk-button uk-button-default"
uk-tooltip="title: Hello World; pos: top-left"
>
Top Left
</button>
<button
class="uk-button uk-button-default"
uk-tooltip="title: Hello World; pos: top-right"
>
Top Right
</button>
<button
class="uk-button uk-button-default"
uk-tooltip="title: Hello World; pos: bottom"
>
Bottom
</button>
<button
class="uk-button uk-button-default"
uk-tooltip="title: Hello World; pos: bottom-left"
>
Bottom Left
</button>
<button
class="uk-button uk-button-default"
uk-tooltip="title: Hello World; pos: bottom-right"
>
Bottom Right
</button>
<button
class="uk-button uk-button-default"
uk-tooltip="title: Hello World; pos: left"
>
Left
</button>
<button
class="uk-button uk-button-default"
uk-tooltip="title: Hello World; pos: right"
>
Right
</button>
</p> If you want the tooltip to appear with a little delay, just add the delay option to the uk-tooltip attribute with your value in milliseconds.
<div uk-tooltip="title: Hello World; delay: 500"></div>
<button
class="uk-button uk-button-default"
uk-tooltip="title: Hello World; delay: 500"
>
Hover
</button> Any of these options can be applied to the component attribute. Separate multiple options with a semicolon. Learn more
| Option | Value | Default | Description |
|---|---|---|---|
title | String | Tooltip text. | |
pos | String | top-center | Tooltip position. |
offset | Number | false | Tooltip offset. |
animation | String | uk-animation-scale-up | Space-separated names of animations. Comma-separated for animation out. |
duration | Number | 100 | The animation duration. |
delay | Number | 0 | The show delay. |
cls | String | uk-active | The active class. |
container | String | body | Define a target container via a selector to specify where the tooltip should be appended in the DOM. |
title is the Primary option and its key may be omitted, if it’s the only option in the attribute value.
<span uk-tooltip="Hello World"></span>
Learn more about JavaScript components.
UIkit.tooltip(element, options);
The following events will be triggered on elements, which are injected by this component:
| Name | Description |
|---|---|
beforeshow | Fires before an item is shown. Can prevent showing by calling preventDefault() on the event. |
show | Fires after an item is shown. |
shown | Fires after the item’s show animation has completed. |
beforehide | Fires before an item is hidden. Can prevent hiding by calling preventDefault() on the event. |
hide | Fires after an item’s hide animation has started. |
hidden | Fires after an item is hidden. |
UIkit.util.on(document, "show", ".uk-tooltip.uk-active", function () {
// do something
});
The following methods are available for the component:
UIkit.tooltip(element).show();
Shows the Tooltip.
UIkit.tooltip(element).hide();
Hides the Tooltip.
The Tooltip component adheres to the Tooltip Widget WAI-ARIA design pattern and automatically sets the appropriate WAI-ARIA roles, states and properties.
tooltip role and the aria-describedby property set to the ID of the element with the tooltip.On your tailwind.config.js file, add the
Tooltip component within the ui() plugin.
import ui from "franken-ui";
ui({
components: {
tooltip: {
hooks: {}
}
}
}),
Note If you are developing theme from scratch, you can use all these hooks. If you’re using the shadcn/ui theme, some hooks might not work as they were already in use or removed. Learn more about using hooks.
| Hook Name | Affected Classes |
|---|---|
hook-tooltip | .uk-tooltip |
hook-misc | * |