Skip to main content
← Back to Lab

Magnetic Cursor

Custom cursor with magnetic pull on interactive elements.

CursorMagnetic3D

Loading Magnetic Cursor...

What this explores

Custom cursor implementation with magnetic attraction to buttons and 3D tilt effects on cards.

Principles demonstrated

  • Custom cursor with smooth interpolation
  • Magnetic pull calculation
  • 3D CSS transforms for tilt effect
  • Pointer event handling

Build It Yourself

Step-by-step guide to recreate this experiment

Beginner25-35 min

Prerequisites

  • Basic JavaScript/CSS
  • Understanding of mouse events
  • CSS transforms basics

Replace the default cursor with custom elements - an outer ring and inner dot. Position them absolutely and follow the mouse.

css
// Cursor elements
<div class="cursor-ring" id="ring"></div>
<div class="cursor-dot" id="dot"></div>

// CSS
.cursor-ring, .cursor-dot {
  position: fixed;
  pointer-events: none;
  z-index: 9999;
  transform: translate(-50%, -50%);
}

.cursor-ring {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(4px);
}

.cursor-dot {
  width: 8px;
  height: 8px;
  background: white;
  border-radius: 50%;
}

// Hide default cursor on container
.container { cursor: none; }