Kann man den Cursor in CSS drehen?

Avatar of Chris Coyier
Chris Coyier am

DigitalOcean bietet Cloud-Produkte für jede Phase Ihrer Reise. Starten Sie mit 200 $ kostenlosem Guthaben!

Jein! Es gibt keine einfache oder standardisierte Methode dafür, aber es ist möglich. Sie können den Cursor mit CSS mit der cursor-Eigenschaft auf verschiedene vordefinierte native Versionen ändern, aber das hilft hier nicht viel. Sie können diese Eigenschaft auch verwenden, um ein statisches Bild als Cursor festzulegen. Aber auch das hilft nicht viel, weil Sie es dort nicht drehen können.

Der Trick besteht darin, den Cursor mit cursor: none; komplett auszublenden und durch ein eigenes Element zu ersetzen.

Hier ist ein Beispiel dafür

Siehe den Pen
Bewege gefälschte Maus mit JavaScript
von Chris Coyier (@chriscoyier)
auf CodePen.

Das dreht sich noch nicht. Aber da der Cursor jetzt nur noch ein Element auf der Seite ist, kann die transform: rotate(); von CSS diese Aufgabe problemlos erfüllen. Etwas Mathematik ist erforderlich.

Das überlasse ich Aaron Ikers wirklich unterhaltsamer Demo

Siehe den Pen
Mauszeiger zeigt auf CTA
von Aaron Iker (@aaroniker)
auf CodePen.

Ist das ein Barrierefreiheitsproblem? Etwas daran lässt mich denken, dass es eines sein könnte. Es ist eine zusätzliche Bewegung, die man nicht erwartet, und vielleicht etwas desorientierend, wenn ein Element, auf das man sich als Form der Stabilität verlassen könnte, sich anfängt zu bewegen. Das ist wirklich nur etwas, das man für eine begrenzte, neuartige Anwendung tun würde und dabei die prefers-reduced-motion berücksichtigt. Man könnte auch den Originalcursor beibehalten und etwas darunter tun, wie Jackson Callaway es hier getan hat.