Skip to content
LSD Framework
Components · tooltips

Tooltips. Hover-first, focus-safe.

A single .lsd-tooltip wraps a trigger and reveals a small label on hover or focus. Placement, tone, and richness via independent modifiers.

01 · base

.lsd-tooltip

Wrap any trigger with .lsd-tooltip + a .lsd-tooltip__bubble child. CSS handles hover and focus-within; JS upgrades click-trigger and touch support.

sizes

sm / md / lg

Size mods scale padding + font.

Tiny hint Default size More room here
<span class="lsd-tooltip lsd-tooltip--top">
  <button>Hover</button>
  <span class="lsd-tooltip__bubble">Hi</span>
</span>
tones

dark / light / accent / danger

Tone swap is bubble-only — trigger stays untouched.

Default dark Inverted Brand! Careful!
<span class="lsd-tooltip lsd-tooltip--top
                   lsd-tooltip--accent">...
states

hover · focus · click

Tab into the buttons — focus-within triggers the bubble too. data-trigger="click" upgrades the third one to click-to-open.

Hello Toggled by JS
<span class="lsd-tooltip lsd-tooltip--top"
      data-trigger="click">...
02 · variants

Six placement + style variants

Four cardinal placements, an arrow caret, and a rich (multi-line) layout. Combine freely.

.lsd-tooltip--top

Top placement

Default — bubble sits above the trigger.

Above
.lsd-tooltip--top
.lsd-tooltip--bottom

Bottom placement

For toolbars where there's no headroom.

Below
.lsd-tooltip--bottom
.lsd-tooltip--left

Left placement

Side rail labels.

To the left
.lsd-tooltip--left
.lsd-tooltip--right

Right placement

Form-field helper.

To the right
.lsd-tooltip--right
.lsd-tooltip--with-arrow

Arrow caret

Adds a triangular pointer at the trigger edge.

Pointed
.lsd-tooltip--with-arrow
.lsd-tooltip--rich

Rich (title + body)

Multi-line layout for explanation-quality hints.

Keyboard shortcutPress ⌘K anywhere to open the global command palette.
.lsd-tooltip--rich
03 · animations

Entrance chaining

Tooltips ship with a default fade+slide. Chain .lsd-fx--scale-in or .lsd-fx--slide-up on the bubble for richer entrances.

.lsd-fx--scale-in

Scale-in entrance

Bubble springs from center.

Springs in
<span class="lsd-tooltip__bubble
            lsd-fx--scale-in">
.lsd-fx--slide-up

Slide-up entrance

Climbs into place from below.

Slides up
<span class="lsd-tooltip__bubble
            lsd-fx--slide-up">
.lsd-fx--fade-in

Fade-only

Quiet variant — no translate.

Fades in
<span class="lsd-tooltip__bubble
            lsd-fx--fade-in">
Components · LSD primitives
↩ Framework index