DOCUMENTATION

Tooltips

Tailwind tooltips appears when the user interacts with the icon and goes away when the user interacts with the tooltip or hovers away from the icon.

Examples


<div class="mt-4">
    <button type="button"
        class="inline-block px-6 py-2 mb-4   text-center text-white transition-all duration-500 ease-in-out bg-gray-600 border border-gray-600 rounded shadow-md hover:shadow-xl hover:bg-gray-700 focus:bg-gray-700"
        onmouseenter="toggleTooltip(event,'top','tooltipt')"
        onmouseleave="toggleTooltip(event,'top','tooltipt')">Tooltip on top</button>
    <div id="tooltipt" class="z-50 hidden w-32 px-2 py-1 text-sm text-center text-white bg-gray-900 rounded">
        Tooltip on top
        <svg class="absolute z-10 w-6 h-6 text-gray-900 transform translate-x-[2.5rem] -translate-y-2 fill-current stroke-current"
            width="8" height="8">
            <rect x="12" y="-10" width="12" height="12" transform="rotate(45)" />
        </svg>
    </div>
    <button type="button"
        class="inline-block px-6 py-2 mb-4 text-center text-white transition-all duration-500 ease-in-out bg-gray-600 border border-gray-600 rounded shadow-md hover:shadow-xl hover:bg-gray-700 focus:bg-gray-700"
        onmouseenter="toggleTooltip(event,'right','tooltipe')"
        onmouseleave="toggleTooltip(event,'right','tooltipe')">Tooltip on end</button>
    <div id="tooltipe" class="hidden w-32 px-2 py-1 text-sm text-center text-white bg-gray-900 rounded">
        Tooltip on end
        <svg class="absolute z-10 w-6 h-6 text-gray-900 transform -translate-x-6 -translate-y-4 fill-current stroke-current"
            width="8" height="8">
            <rect x="12" y="-10" width="8" height="8" transform="rotate(45)" />
        </svg>
    </div>
    <button type="button"
        class="inline-block px-6 py-2 mb-4 text-center text-white transition-all duration-500 ease-in-out bg-gray-600 border border-gray-600 rounded shadow-md hover:shadow-xl hover:bg-gray-700 focus:bg-gray-700"
        onmouseenter="toggleTooltip(event,'bottom','tooltipb')"
        onmouseleave="toggleTooltip(event,'bottom','tooltipb')">Tooltip on bottom
    </button>
    <div id="tooltipb" class="hidden px-2 py-1 text-sm text-center text-white bg-gray-900 rounded w-36">
        Tooltip on bottom
        <svg class="absolute z-10 w-6 h-6 text-gray-900 transform translate-x-12 -translate-y-8 fill-current stroke-current"
            width="8" height="8">
            <rect x="12" y="-10" width="12" height="12" transform="rotate(45)" />
        </svg>
    </div>
    <button type="button"
        class="inline-block px-6 py-2 mb-4 text-center text-white transition-all duration-500 ease-in-out bg-gray-600 border border-gray-600 rounded shadow-md hover:shadow-xl hover:bg-gray-700 focus:bg-gray-700"
        onmouseenter="toggleTooltip(event,'left','tooltipss')"
        onmouseleave="toggleTooltip(event,'left','tooltipss')">Tooltip on start</button>
    <div id="tooltipss" class="hidden w-32 px-2 py-1 z-50 text-sm text-center text-white bg-gray-900 rounded">
        Tooltip on start
        <svg class="absolute z-10 w-6 h-6 text-gray-900 transform translate-x-[6.5rem] -translate-y-4 fill-current stroke-current"
            width="8" height="8">
            <rect x="12" y="-10" width="8" height="8" transform="rotate(45)" />
        </svg>
    </div>
    <button type="button"
        class="inline-block px-6 py-2 mb-4 text-center text-white transition-all duration-500 ease-in-out bg-gray-600 border border-gray-600 rounded shadow-md hover:shadow-xl hover:bg-gray-700 focus:bg-gray-700"
        onmouseenter="toggleTooltip(event,'top','tooltipw')"
        onmouseleave="toggleTooltip(event,'top','tooltipw')">Tooltip with HTML</button>
    <div id="tooltipw" class="hidden px-2 py-1 text-sm text-center text-white bg-gray-900 rounded w-36">
        <span class="z-50"><em>Tooltip</em> <u>with</u> <b>HTML</b></span>
        <svg class="absolute z-10 w-6 h-6 text-gray-900 transform translate-x-12 -translate-y-2 fill-current stroke-current"
            width="8" height="8">
            <rect x="12" y="-10" width="12" height="12" transform="rotate(45)" />
        </svg>
    </div>
</div>
      

Script


function toggleTooltip(event, placement, popoverID) {
    let element = event.target;
    while (element.nodeName !== "BUTTON") {
      element = element.parentNode;
    }
    Popper.createPopper(element, document.getElementById(popoverID), {
      modifiers: [
        {
          name: 'offset',
          options: {
            offset: [0, 10],
          },
        },
      ],
  
      placement: placement,
    });
    document.getElementById(popoverID).classList.toggle("hidden");
}
      

Updated on February 28, 2022
Was this page helpful?