cursor

Die cursor-Eigenschaft von CSS legt den Mauscursor fest, der angezeigt werden soll, wenn der Mauszeiger über ein Element fährt.

Die Cursor-Einstellung sollte die Benutzer über die Mausaktionen informieren, die an der aktuellen Position durchgeführt werden können, einschließlich: Textauswahl, Aktivierung von Hilfe- oder Kontextmenüs, Kopieren von Inhalten, Anpassen der Größe von Tabellen und so weiter. Sie können entweder den Typ des Cursors mit einem Schlüsselwort angeben oder ein spezifisches Symbol laden, das verwendet werden soll (mit optionalen Fallback-Bildern und einem obligatorischen Schlüsselwort als endgültigem Fallback).

Probieren Sie es aus

Syntax

css
/* Keyword value */
cursor: auto;
cursor: pointer;
/* … */
cursor: zoom-out;

/* URL with mandatory keyword fallback */
cursor: url(hand.cur), pointer;

/* URL and coordinates, with mandatory keyword fallback */
cursor:
  url(cursor_1.png) 4 12,
  auto;
cursor:
  url(cursor_2.png) 2 2,
  pointer;

/* URLs and fallback URLs (some with coordinates), with mandatory keyword fallback */
cursor:
  url(cursor_1.svg) 4 5,
  url(cursor_2.svg),
  /* …, */ url(cursor_n.cur) 5 5,
  progress;

/* Global values */
cursor: inherit;
cursor: initial;
cursor: revert;
cursor: revert-layer;
cursor: unset;

Die cursor-Eigenschaft wird als null oder mehr <url>-Werte angegeben, getrennt durch Kommas, gefolgt von einem einzelnen obligatorischen Schlüsselwortwert. Jede <url> sollte auf eine Bilddatei verweisen. Der Browser versucht, das erste angegebene Bild zu laden, fällt zurück auf das nächste, wenn dies nicht möglich ist, und verwendet den Schlüsselwortwert als Fallback, wenn keine Bilder geladen werden konnten (oder keine angegeben wurden).

Jede <url> kann optional von einem Paar durch Leerzeichen getrennten Zahlen gefolgt werden, die die <x>- und <y>-Koordinaten des Cursors-Hotspots relativ zur oberen linken Ecke des Bildes festlegen.

Werte

<url> Optional

Ein url() oder eine durch Kommas getrennte Liste url(), url(), …, die auf eine Bilddatei verweist. Mehr als ein <url> kann als Fallback angegeben werden, falls einige Cursorbildtypen nicht unterstützt werden. Ein nicht-URL-Fallback (einer oder mehrere der Schlüsselwortwerte) muss am Ende der Fallback-Liste stehen.

<x>, <y> Optional

Optionale x- und y-Koordinaten, die den Cursor-Hotspot angeben; die genaue Position innerhalb des Cursors, auf die gezeigt wird.

Die Zahlen sind in Einheiten von Bildpixeln. Sie sind relativ zur oberen linken Ecke des Bildes, die 0 0 entspricht, und sind innerhalb der Grenzen des Cursors-Bildes eingeschränkt. Wenn diese Werte nicht angegeben sind, können sie aus der Datei selbst gelesen werden und sind andernfalls standardmäßig in der oberen linken Ecke des Bildes.

keyword

Ein Schlüsselwert muss angegeben werden, der entweder den zu verwendenden Cursor-Typ oder den Fallback-Cursor angibt, falls alle angegebenen Symbole nicht geladen werden können.

Die verfügbaren Schlüsselwörter sind in der folgenden Tabelle aufgeführt. Andere als none, was keinen Cursor bedeutet, gibt es ein Bild, das zeigt, wie die Cursor früher gerendert wurden. Sie können mit Ihrer Maus über die Tabellenreihen fahren, um den Effekt der verschiedenen Cursor-Schlüsselwortwerte in Ihrem Browser heute zu sehen.

Kategorie Schlüsselwort Beispiel Beschreibung
Allgemein auto Das UA bestimmt den anzuzeigenden Cursor basierend auf dem aktuellen Kontext. Z. B. äquivalent zu text, wenn über Text gefahren wird.
default breiter Pfeil, der nach oben und nach links zeigt Der plattformabhängige Standard-Cursor. Typischerweise ein Pfeil.
none Es wird kein Cursor angezeigt.
Links & Status context-menu breiter Pfeil, der nach oben und nach links zeigt und ein Menü-Symbol leicht verdeckt Ein Kontextmenü ist verfügbar.
help breiter Pfeil, der nach oben und nach links zeigt, neben einem Fragezeichen Hilfeinformationen sind verfügbar.
pointer rechte Hand mit einem nach oben zeigenden Zeigefinger Der Cursor ist ein Zeiger, der einen Link anzeigt. Typischerweise ein Bild einer zeigenden Hand.
progress breiter Pfeil und Sanduhr Das Programm ist im Hintergrund beschäftigt, aber der Benutzer kann noch mit der Benutzeroberfläche interagieren (im Gegensatz zu wait).
wait Sanduhr Das Programm ist beschäftigt, und der Benutzer kann nicht mit der Benutzeroberfläche interagieren (im Gegensatz zu progress). Manchmal ein Bild einer Sanduhr oder einer Uhr.
Auswahl cell breites Pluszeichen Die Tabellenzelle oder der Satz von Zellen kann ausgewählt werden.
crosshair Pluszeichen, bestehend aus zwei dünnen Linien. Kreuz-Cursor, häufig verwendet, um die Auswahl in einem Bitmap anzuzeigen.
text vertikaler I-Balken Der Text kann ausgewählt werden. Typischerweise die Form eines I-Balkens.
vertical-text horizontaler I-Balken Der vertikale Text kann ausgewählt werden. Typischerweise die Form eines seitwärts liegenden I-Balkens.
Ziehen & Ablegen alias breiter Pfeil, der nach oben und nach links zeigt und teilweise ein kleineres Ordnersymbol mit einem nach oben und nach rechts zeigenden gebogenen Pfeil verdeckt Ein Alias oder Verknüpfung soll erstellt werden.
copy breiter Pfeil, der nach oben und nach links zeigt und teilweise ein kleineres Ordnersymbol mit einem Pluszeichen verdeckt Etwas soll kopiert werden.
move Pluszeichen bestehend aus zwei dünnen Linien. Die vier Punkte sind kleine Pfeile, die nach außen zeigen Etwas soll verschoben werden.
no-drop Zeiger-Icon und ein Nicht erlaubt-Icon Ein Element darf an der aktuellen Position nicht abgelegt werden.
Firefox-Bug 275173: Unter Windows und macOS ist no-drop dasselbe wie not-allowed.
not-allowed Nicht erlaubtes Symbol, ein Kreis mit einem durchgezogenen Strich Die angeforderte Aktion wird nicht durchgeführt.
grab vollständig geöffnetes Hand-Icon Etwas kann erfasst (zum Verschieben gezogen) werden.
grabbing geschlossenes Hand-Icon, von der Rückseite der Hand Etwas wird erfasst (zum Verschieben gezogen).
Größenänderung & Scrollen all-scroll Icon eines mittelgroßen Punkts mit vier Dreiecken darum. Etwas kann in jeder Richtung gescrollt werden (schwenken).
Firefox-Bug 275174: Unter Windows ist all-scroll dasselbe wie move.
col-resize col-resize.gif Das Element/Spalte kann horizontal geändert werden. Oft dargestellt als Pfeile, die nach links und rechts zeigen, mit einer vertikalen Trennleiste dazwischen.
row-resize zwei schmale parallele horizontale Linien mit einem kleinen Pfeil, der nach oben zeigt, und ein weiterer, der nach unten zeigt Das Element/Reihe kann vertikal geändert werden. Oft dargestellt als Pfeile, die nach oben und unten zeigen, mit einer horizontalen Trennleiste dazwischen.
n-resize dünner langer Pfeil, der nach oben zeigt Ein Rand soll verschoben werden. Zum Beispiel wird der se-resize-Cursor verwendet, wenn die Bewegung von der süd-östlichen Ecke des Kastens ausgeht.
In einigen Umgebungen wird ein äquivalenter bidirektionaler Größenänderungs-Cursor angezeigt. Zum Beispiel sind n-resize und s-resize dasselbe wie ns-resize.
e-resize dünner langer Pfeil, der nach rechts zeigt
s-resize dünner langer Pfeil, der nach unten zeigt
w-resize dünner langer Pfeil, der nach links zeigt
ne-resize dünner langer Pfeil, der nach oben-rechts zeigt
nw-resize dünner langer Pfeil, der nach oben-links zeigt
se-resize dünner langer Pfeil, der nach unten-rechts zeigt
sw-resize dünner langer Pfeil, der nach unten-links zeigt
ew-resize dünner langer Pfeil, der nach links und rechts zeigt Bidirektionale Größenänderungs-Cursor.
ns-resize dünner langer Pfeil, der nach oben und unten zeigt
nesw-resize dünner langer Pfeil, der sowohl nach oben-rechts als auch unten-links zeigt
nwse-resize dünner langer Pfeil, der sowohl nach oben-links als auch unten-rechts zeigt
Zoomen zoom-in Lupe mit einem Pluszeichen

Etwas kann vergrößert oder verkleinert werden.

zoom-out Lupe mit einem Minuszeichen

Formale Definition

Anfangswertauto
Anwendbar aufalle Elemente
VererbtJa
Berechneter Wertwie angegeben, aber mit absoluten <url> Werten
Animationstypdiskret

Formale Syntax

cursor = 
[ [ <url> | <url-set> ] [ <x> <y> ]? ]#? [ auto | default | none | context-menu | help | pointer | progress | wait | cell | crosshair | text | vertical-text | alias | copy | move | no-drop | not-allowed | grab | grabbing | e-resize | n-resize | ne-resize | nw-resize | s-resize | se-resize | sw-resize | w-resize | ew-resize | ns-resize | nesw-resize | nwse-resize | col-resize | row-resize | all-scroll | zoom-in | zoom-out ]

<url> =
<url()> |
<src()>

<url()> =
url( <string> <url-modifier>* ) |
<url-token>

<src()> =
src( <string> <url-modifier>* )

Anwendungsnotizen

Symbolgrößenbeschränkungen

Obwohl die Spezifikation die Größe des cursor-Bildes nicht begrenzt, beschränken User Agents diese häufig, um potenziellen Missbrauch zu vermeiden. Zum Beispiel sind in Firefox und Chromium-Cursorbilder standardmäßig auf 128x128 Pixel beschränkt, aber es wird empfohlen, die Cursorbildgröße auf 32x32 Pixel zu beschränken. Cursoränderungen mit Bildern, die größer sind als die von den User Agents maximal unterstützte Größe, werden in der Regel einfach ignoriert.

Unterstützte Bilddateiformate

Laut Spezifikation müssen User Agents PNG-Dateien, SVG v1.1-Dateien im sicheren statischen Modus, die eine natürliche Größe enthalten, und alle anderen nicht animierten Bilddateiformate unterstützen, die sie auch für Bilder in anderen Eigenschaften unterstützen. Desktop-Browser unterstützen auch generell das .cur-Dateiformat.

Die Spezifikation gibt ferner an, dass User Agents auch SVG v1.1-Dateien im sicheren animierten Modus unterstützen sollten, die eine natürliche Größe enthalten, zusammen mit allen anderen animierten Bilddateiformaten, die sie für Bilder in anderen Eigenschaften unterstützen. User Agents könnten sowohl statische als auch animierte SVG-Bilder unterstützen, die keine natürliche Größe enthalten.

iPadOS

iPadOS unterstützt Zeigegeräte wie Trackpads und Mäuse. Standardmäßig wird der iPad-Cursor als Kreis angezeigt, und der einzige unterstützte Wert, der das Erscheinungsbild des Zeigers ändert, ist text.

Weitere Hinweise

Cursoränderungen, die mit Symbolleistenbereichen überschneiden, werden häufig blockiert, um Phishing zu vermeiden.

Beispiele

Einstellen von Cursortypen

css
.foo {
  cursor: crosshair;
}

.bar {
  cursor: zoom-in;
}

/* A fallback keyword value is required when using a URL */
.baz {
  cursor: url("hyper.cur"), auto;
}

Spezifikationen

Specification
CSS Basic User Interface Module Level 4
# cursor

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch