Tooltip

Tailwind CSS and Alpine JS Tooltip

Tooltips are a great way to provide additional information or context to users without disrupting their current workflow.

Default tooltip

A tooltip that appears when you focus or hover over the trigger element.

<div class="">
    <button type="button" class="" aria-describedby="tooltipExample">Hover Me</button>
    <div id="tooltipExample" class="" role="tooltip"></div>
</div>
<div class="">
    <button type="button" class="" aria-describedby="tooltipExample">Hover Me</button>
    <div id="tooltipExample" class="" role="tooltip"></div>
</div>
@theme {
    /* light theme */
    --color-surface: var(--color-);
    --color-surface-alt: var(--color-);
    --color-on-surface: var(--color-);
    --color-on-surface-strong: var(--color-);
    --color-primary: var(--color-);
    --color-on-primary: var(--color-);
    --color-secondary: var(--color-);
    --color-on-secondary: var(--color-);
    --color-outline: ;
    --color-outline-strong: var(--color-);

    /* dark theme */
    --color-surface-dark: var(--color-);
    --color-surface-dark-alt: var(--color-);
    --color-on-surface-dark: var(--color-);
    --color-on-surface-dark-strong: var(--color-);
    --color-primary-dark: var(--color-);
    --color-on-primary-dark: var(--color-);
    --color-secondary-dark: var(--color-);
    --color-on-secondary-dark: var(--color-);
    --color-outline-dark: var(--color-);
    --color-outline-dark-strong: var(--color-);

    /* shared colors */
    --color-info: var(--color-);
    --color-on-info: var(--color-);
    --color-success: var(--color-);
    --color-on-success: var(--color-);
    --color-warning: var(--color-);
    --color-on-warning: var(--color-);
    --color-danger: var(--color-);
    --color-on-danger: var(--color-);

    /* border radius */
    --radius-radius: var(--radius);
}

Click tooltip

Requires Alpine JS

A tooltip that appears when you click on the trigger element.

<div class="">
    <button type="button" class="" aria-describedby="tooltipExample">Hover Me</button>
    <div id="tooltipExample" class="" role="tooltip"></div>
</div>
<div class="">
    <button type="button" class="" aria-describedby="tooltipExample">Hover Me</button>
    <div id="tooltipExample" class="" role="tooltip"></div>
</div>
@theme {
    /* light theme */
    --color-surface: var(--color-);
    --color-surface-alt: var(--color-);
    --color-on-surface: var(--color-);
    --color-on-surface-strong: var(--color-);
    --color-primary: var(--color-);
    --color-on-primary: var(--color-);
    --color-secondary: var(--color-);
    --color-on-secondary: var(--color-);
    --color-outline: ;
    --color-outline-strong: var(--color-);

    /* dark theme */
    --color-surface-dark: var(--color-);
    --color-surface-dark-alt: var(--color-);
    --color-on-surface-dark: var(--color-);
    --color-on-surface-dark-strong: var(--color-);
    --color-primary-dark: var(--color-);
    --color-on-primary-dark: var(--color-);
    --color-secondary-dark: var(--color-);
    --color-on-secondary-dark: var(--color-);
    --color-outline-dark: var(--color-);
    --color-outline-dark-strong: var(--color-);

    /* shared colors */
    --color-info: var(--color-);
    --color-on-info: var(--color-);
    --color-success: var(--color-);
    --color-on-success: var(--color-);
    --color-warning: var(--color-);
    --color-on-warning: var(--color-);
    --color-danger: var(--color-);
    --color-on-danger: var(--color-);

    /* border radius */
    --radius-radius: var(--radius);
}

Tooltip with description

A tooltip with a title and description.

<div class="">
    <button type="button" class="" aria-describedby="tooltipExample">Hover Me</button>
    <div id="tooltipExample" class="" role="tooltip">
        <span class=""></span>
        <p class="">A rich tooltip that contains longer text and is usually used to add a description.</p>
    </div>
</div>
<div class="">
    <button type="button" class="" aria-describedby="tooltipExample">Hover Me</button>
    <div id="tooltipExample" class="" role="tooltip">
        <span class=""></span>
        <p class="">A rich tooltip that contains longer text and is usually used to add a description.</p>
    </div>
</div>
@theme {
    /* light theme */
    --color-surface: var(--color-);
    --color-surface-alt: var(--color-);
    --color-on-surface: var(--color-);
    --color-on-surface-strong: var(--color-);
    --color-primary: var(--color-);
    --color-on-primary: var(--color-);
    --color-secondary: var(--color-);
    --color-on-secondary: var(--color-);
    --color-outline: ;
    --color-outline-strong: var(--color-);

    /* dark theme */
    --color-surface-dark: var(--color-);
    --color-surface-dark-alt: var(--color-);
    --color-on-surface-dark: var(--color-);
    --color-on-surface-dark-strong: var(--color-);
    --color-primary-dark: var(--color-);
    --color-on-primary-dark: var(--color-);
    --color-secondary-dark: var(--color-);
    --color-on-secondary-dark: var(--color-);
    --color-outline-dark: var(--color-);
    --color-outline-dark-strong: var(--color-);

    /* shared colors */
    --color-info: var(--color-);
    --color-on-info: var(--color-);
    --color-success: var(--color-);
    --color-on-success: var(--color-);
    --color-warning: var(--color-);
    --color-on-warning: var(--color-);
    --color-danger: var(--color-);
    --color-on-danger: var(--color-);

    /* border radius */
    --radius-radius: var(--radius);
}

Data

List of all Alpine JS data used in this component.

Property Description
showTooltip Boolean - Shows/Hides the tooltip