Glow Tooltip
A copy-paste tooltips component in pure HTML & CSS. Zero dependencies, framework-agnostic, MIT-licensed.
TooltipsHTMLCSSany framework
Lime glow edge
Copy into your project
HTML
<div class="nuda-glowedge-wrap">
<button class="nuda-glowedge__trigger" aria-describedby="glowedge-tip-1">
Hover me
</button>
<div class="nuda-glowedge" role="tooltip" id="glowedge-tip-1">
Lime glow edge
</div>
</div>CSS
/* Glow Tooltip (edge glow)
Tooltip with an animated lime gradient edge + outer glow.
Shows on hover and keyboard focus.
Customize: --glowedge-accent, --glowedge-bg */
.nuda-glowedge-wrap {
position: relative;
display: inline-block;
}
.nuda-glowedge__trigger {
background: rgba(255, 255, 255, 0.08);
border: 1px solid rgba(255, 255, 255, 0.12);
color: #ccc;
padding: 0.45rem 1rem;
border-radius: 8px;
font-size: 0.85rem;
cursor: pointer;
}
.nuda-glowedge {
--glowedge-accent: #e4ff54;
--glowedge-bg: #101012;
position: absolute;
bottom: calc(100% + 9px);
left: 50%;
transform: translateX(-50%);
background: var(--glowedge-bg);
border: 1px solid rgba(228, 255, 84, 0.5);
color: #fafafa;
font-size: 0.75rem;
padding: 0.4rem 0.8rem;
border-radius: 7px;
white-space: nowrap;
opacity: 0;
pointer-events: none;
transition: opacity 0.22s ease, box-shadow 0.3s ease;
box-shadow: 0 0 0 rgba(228, 255, 84, 0);
}
/* Animated gradient border via mask-composite */
.nuda-glowedge::after {
content: "";
position: absolute;
inset: -1px;
border-radius: 7px;
padding: 1px;
background: linear-gradient(120deg, rgba(228, 255, 84, 0), rgba(228, 255, 84, 0.9), rgba(228, 255, 84, 0));
background-size: 200% 100%;
background-position: 0% 0%;
-webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
-webkit-mask-composite: xor;
mask-composite: exclude;
opacity: 0;
transition: opacity 0.3s ease, background-position 0.6s ease;
}
.nuda-glowedge-wrap:hover .nuda-glowedge,
.nuda-glowedge__trigger:focus-visible + .nuda-glowedge {
opacity: 1;
box-shadow:
0 0 16px rgba(228, 255, 84, 0.35),
0 0 4px rgba(228, 255, 84, 0.2);
}
.nuda-glowedge-wrap:hover .nuda-glowedge::after,
.nuda-glowedge__trigger:focus-visible + .nuda-glowedge::after {
opacity: 1;
background-position: 100% 0%;
}
@media (prefers-reduced-motion: reduce) {
.nuda-glowedge, .nuda-glowedge::after { transition: none; }
}How to use Glow Tooltip
Paste the HTML where you need it and the CSS into a global stylesheet (or a <style> tag). Every class is prefixed nuda- so it never collides with Tailwind or your own styles. Tweak the CSS custom properties to match your design system.
Works in React, Vue, Svelte, Astro, Next.js, Nuxt, Laravel Blade, Django, Rails — or a single .html file. No npm install, no build step.