CSS Trick

Pure CSS Tooltips

Lightweight tooltips using data attributes and pseudo-elements.

#css #tooltips #attr #pseudo-elements

Browser Support

✓ Chrome 4+ ✓ Firefox 2+ ✓ Safari 3.1+ ✗ Edge

Pure CSS Tooltips

Create tooltips without JavaScript using attr() and pseudo-elements.

[data-tooltip] {
position: relative;
}
[data-tooltip]::after {
content: attr(data-tooltip);
position: absolute;
bottom: 100%;
left: 50%;
transform: translateX(-50%);
padding: 0.5rem;
background: #333;
color: white;
border-radius: 4px;
opacity: 0;
transition: opacity 0.2s;
}
[data-tooltip]:hover::after {
opacity: 1;
}

Live Demo

CSS Tooltips
HOVER
#1a1a2e
0.2s
CSS Code
.tooltip-btn {
position: relative;
padding: 0.625rem 1.25rem;
background: linear-gradient(135deg, #8b5cf6, #06b6d4);
border: none;
border-radius: 0.5rem;
color: white;
font-weight: 600;
cursor: pointer;
}
.tooltip-btn::after {
content: attr(data-tooltip);
position: absolute;
bottom: 100%;
left: 50%;
transform: translateX(-50%);
padding: 0.4rem 0.6rem;
background: #1a1a2e;
color: white;
border-radius: 0.375rem;
font-size: 0.7rem;
font-weight: 400;
white-space: nowrap;
opacity: 0;
pointer-events: none;
transition: opacity 0.2s;
margin-bottom: 6px;
}
.tooltip-btn:hover::after {
opacity: 1;
}
.demo-buttons {
display: flex;
gap: 1rem;
flex-wrap: wrap;
justify-content: center;
}

Best for simple hints. For accessible tooltips, use a proper component library.

Comparte este CSS trick

Comentarios