Code icon

CSS - TOOLTIPS

Links

Hover me for more information

    // TOOLTIP
    <span data-tooltip="This is a tooltip" class="tooltip">Hover me for more information</span>

    //CSS
    [data-tooltip]{
        position: relative;

    }

    [data-tooltip]::before,
    [data-tooltip]::after{
        --tooltip-color: #333;
        --arrow-size: .5rem;
        --scale: 0;

        position: absolute;
        left: 50%;
        transform: translate(-50%, var(--translate-y)) scale(var(--scale));

        transition: transform 500ms;
        transition-timing-function: linear;
        
    }


    [data-tooltip]:hover::before,
    [data-tooltip]:hover::after {
        --scale: 1;

        transition-timing-function: cubic-bezier(0.25, 0.1, 0.45, 1.93);
    }

    [data-tooltip]::before{
        --translate-y: calc(-100% - var(--arrow-size));
        content: attr(data-tooltip);
    
        /* top: -1rem; */
        /* left: 50%;
        transform: translate(-50%, calc(-100% - var(--arrow-size))); */
        background-color: var(--tooltip-color);
        color: white;
        padding: .5em;
        border-radius: .3em;
        width: max-content;
        max-width: 100%;
        text-align: center;

        transform-origin: bottom center;
    }

    [data-tooltip]::after{
        --translate-y: calc(-1 * var(--arrow-size));
        content:'';
        border: var(--arrow-size) solid transparent;
        border-top-color: var(--tooltip-color);


        transform-origin: top center;
    }