0% completed
::before
and/or ::after
) to display the tooltip.Explanation:
Element Markup:
<span>
with the class tooltip
that holds a custom attribute data-tooltip
containing the tooltip text.Container Positioning:
.tooltip
class is given position: relative;
so that its pseudo-elements (::before
and ::after
) can be positioned absolutely relative to it.Tooltip Text (::after
):
::after
pseudo-element uses content: attr(data-tooltip);
to fetch and display the tooltip text.bottom: 125%;
and centered with left: 50%
and transform: translateX(-50%);
.opacity: 0
and fades in smoothly with transition: opacity 0.3s ease;
.Tooltip Arrow (::before
):
::before
pseudo-element creates an arrow by setting borders. Only the bottom border is colored (#333
), which gives the illusion of an arrow pointing downward toward the element.Hover Interaction:
.tooltip
element is hovered, both pseudo-elements become visible (opacity: 1
), causing the tooltip and arrow to appear with a smooth fade-in effect.This solution successfully meets all the requirements by using only HTML and CSS to create a custom tooltip with an arrow and smooth transition effects.
.....
.....
.....