CSS kann das Aussehen eines Cursors steuern. Es gibt eine Vielzahl von Optionen, die uns zur Verfügung stehen, und wir haben sie hier auf CSS-Tricks im Almanac recht ausführlich behandelt.
Dennoch werden Mauszeiger und ihr Einfluss auf die Benutzererfahrung unserer Websites leicht übersehen. Erinnern Sie sich, als wir erfuhren, dass `::selection` existiert und jede Website es verwendete, um die Hintergrundfarbe von Textauswahlen zu personalisieren? Das Anpassen von Mauszeigern ist genauso einfach und fügt bei richtiger Anwendung einen zusätzlichen Hauch von dezenter Eleganz hinzu.
In diesem Beitrag werde ich zwei Wege aufzeigen, wie die Steuerung des Mauszeigers mit CSS die Benutzererfahrung verbessern kann.
Den richtigen Mauszeiger für ein Element verwenden
Einige Mauszeigeränderungen sind in den Standard-Stylesheets des Benutzeragenten integriert. Nehmen Sie zum Beispiel Links (`<a>`). Selbst wenn wir in unserem CSS nichts weiter tun, haben Links `color: blue;` und `text-decoration: underline;`. Dies ist ein solider visueller Hinweis darauf, dass der hyperverlinkte Text klickbar ist.
Browser gehen noch einen Schritt weiter. Wenn Sie mit der Maus über den Link fahren, ändert sich der Mauszeiger vom standardmäßigen schwarzen Pfeil zu einer Hand mit ausgestrecktem Zeigefinger, auch bekannt als Zeiger.

Es gibt jedoch Zeiten, in denen das Standardverhalten des Mauszeigers aus den Stylesheets des Benutzeragenten nicht ausreicht. In diesen Fällen sollten wir den Mauszeiger so ändern, dass er die erwartete Benutzerinteraktion auf diesem Element widerspiegelt.
Nehmen Sie die `draggable()`-Funktion von jQueryUI. Wir können sie auf ein Element anwenden, und sie ermöglicht einem Benutzer, dieses Element im Ansichtsfenster anzuklicken und zu ziehen, aber der Benutzer wird dies nie erfahren, wenn der Mauszeiger in seinem Standardzustand bleibt. Das Hinzufügen von `cursor: move;` zum Element würde helfen, das Problem zu lösen.
Siehe den Pen QNqMRp von Geoff Graham (@geoffgraham) auf CodePen.
Das Gleiche gilt für eine Reihe von Szenarien, egal ob wir über Formulareingaben, Bilder oder so ziemlich alles andere sprechen, was Sie sich vorstellen können. Nutzen Sie immer die Gelegenheit, den Mauszeiger eines Elements an sein Verhalten anzupassen, wenn der Standardpfeil kein ausreichender Hinweis ist. Hier ist eine Demo von allem, was derzeit verfügbar ist.
Siehe den Pen The Cursors! von Chris Coyier (@chriscoyier) auf CodePen.
Einen benutzerdefinierten Mauszeiger zur Verbesserung eines Elements verwenden
Was ist mit *benutzerdefinierten* Mauszeigern, fragen Sie? Wie in, ein Bild Ihrer eigenen Kreation, das den Mauszeiger ersetzt. Natürlich ist das möglich!
Wir können der `cursor`-Eigenschaft wie folgt ein Bild zuweisen
.module {
cursor: url('path-to-image.png'), auto;
}
Ich finde, das ist nützlich, wenn ein Hauch von Personalisierung gut passt, der Benutzer es aber vielleicht nicht erwartet. Zum Beispiel ein Formular, bei dem die Antwort auf eine Frage mit einer bestimmten Emotion korrespondiert.
Siehe den Pen qZjwGe von Geoff Graham (@geoffgraham) auf CodePen.
Die Arbeit mit Emoji war an sich schon ein kleines Kunststück. Sie können Emoji von einer Website wie dieser kopieren und einfügen, dann in einen Texteditor einfügen und als PDF speichern, das dann in Illustrator geöffnet werden kann. Von dort aus konnte ich das Bild auswählen, in Photoshop einfügen und ein PNG-Bild mit transparentem Hintergrund erstellen. Zack!
Für diejenigen unter Ihnen, die sich für SVG interessieren: Ich freue mich, sagen zu können, dass es funktioniert! Die `cursor`-Eigenschaft akzeptiert SVG-Dateien in ihrer ganzen Pracht. Keine animierten GIFs, leider.
Siehe den Pen QNgoQW von Geoff Graham (@geoffgraham) auf CodePen.
Also leider keine animierten Mauszeiger, es sei denn, Sie machen etwas Verrücktes wie das Ausblenden des Mauszeigers (`cursor: none;`), die Verfolgung der Mausposition mit JavaScript und das Anzeigen von etwas komplett Benutzerdefiniertem.
Ähm, wie das hier!
Siehe den Pen Animation following cursor von tamm (@tamm) auf CodePen.
Weitere Beispiele aus dem Web
Es ist schwieriger als man denken könnte, gute Beispiele für benutzerdefinierte Mauszeiger zu finden. Vielleicht wird es nicht so häufig verwendet wie andere CSS-Funktionen oder wir sind immer noch dabei, es herauszufinden, aber hier sind einige Websites, auf denen es gut eingesetzt wurde.
- Denis Rouves Portfolio
- 90er-Jahre-Emoji-Mauszeiger
- Schleimiger Mauszeiger
- Kairo-Mauszeiger
- jQuery Awesome Cursor
Ich stimme dem Artikel zu, was die Verwendung des richtigen Mauszeigers für ein Element betrifft. Ich verabscheue jedoch die Verwendung von benutzerdefinierten Mauszeigern, es sei denn, die Interaktion hinter dem Mauszeiger ist offensichtlich. Das Emoji-Beispiel ist, obwohl nur ein Beispiel, überhaupt nicht klar, welche Benutzerinteraktion erwartet wird. Barrierefreiheit darf nicht verloren gehen, daher sollte man vorsichtig vorgehen, wenn man dies implementiert.
Ja, ich stimme zu, und eine weitere Sache ist, dass es keine Garantie gibt, dass andere Teile der Bilder/des Themas der Website nicht mit der gewünschten Mauszeigerfarbe kollidieren. Haben Sie schon einmal das Gefühl gehabt, "wo ist mein Mauszeiger hin?"....
Absolut einverstanden, Melanie. Das Ersetzen des Mauszeigers durch etwas Unbekanntes ist für den Benutzer verwirrend, auch wenn die Absicht "Spaß" oder "schrullig" ist. Wenn ein Autor dies wirklich *wirklich* tun wollte, sollte er zumindest das Bild des erwarteten Mauszeigers zusammen mit seinem benutzerdefinierten Bild einfügen. Im obigen Emoji-Beispiel wäre klarer, dass die Handlungsaufforderung "klicken" ist, wenn das Standard-`cursor: pointer`-Symbol angezeigt würde, mit der Ergänzung eines Smiley-Gesichts als Verbesserung und nicht als Ersatz.
Das gesagt, man würde immer noch auf Probleme stoßen, da Standard-Mauszeigersymbole plattformübergreifend visuell unterschiedlich sein können. Das ist eine rutschige Angelegenheit!
Wenn Sie Rock n Roll mögen, schauen Sie sich die Mauszeiger auf dieser Website an :D http://radiokdug.com/
Ha! Das ist verdammt genial – danke fürs Teilen. :)
Ich liebe dich allein schon für den Link! :D
Haaa, legitime Implementierung.
Es ist wirklich schade, dass Hand-Ziehen-Mauszeiger immer noch herstellerspezifisch sind. Sollte meiner Meinung nach wirklich in die CSS-Spezifikationen aufgenommen werden.
Meinen Sie `cursor: grab | grabbing;`? Tatsächlich sind sie bereits in der Spezifikation (auch nicht als risikobehaftete Funktion) und werden von Firefox ohne Präfix unterstützt (seit Version 27, laut MDN).
Oh, nett. Das habe ich wohl verpasst. Danke für den Hinweis! :)
Man muss auch bedenken, dass Mauszeiger heutzutage weniger wichtig sind, da Handheld-Geräte den Großteil der Website-Besucher ausmachen.
Ich weiß nicht, ob sie weniger wichtig sind, aber es ist ein weiterer Kontext zu berücksichtigen. :)
Ich bin mir nicht sicher, ob die SVG-Cursor-Unterstützung wirklich so tiefgehend ist. Meiner Meinung nach ist alles außer PNG keine so sichere Wette.
Ja, wenn man sich all die Browser und Dinge ansieht, in denen SVG mit einigen CSS-Features oder besonderen Stapel-Effekten oder Filtern nicht richtig funktioniert, macht mich das sehr traurig. Ich liebe SVG und jedes Mal, wenn ich es in ein Projekt einbeziehe, wird es so kompliziert, so viele Workarounds zu erstellen, dass ich manchmal wieder zu Raster zurückkehren möchte.
Tun Sie das nicht. Das Ändern des Mauszeigers sollte nur erfolgen, wenn es unbedingt erforderlich ist. Das Ändern des Mauszeigers ist browserübergreifend unvorhersehbar und kann zu Usability-Problemen und frustrierten Benutzern führen. Ich stimme zu, dass das Ändern des Mauszeigers auf "move" bei Drag & Drop eine gute Idee ist, oder auf "pointer", wenn dieses Element klickbar sein sollte.
Wenn Sie Touchscreens in Ihre Designüberlegungen einbeziehen, müssen Sie wahrscheinlich andere Wege finden, um Interaktionsmodelle auszudrücken, anstatt sich auf Hover zu verlassen. In diesem Fall können Sie den Mauszeiger immer noch ändern, um ihn für Desktop-Benutzer zu optimieren, aber warum sollten Sie sich die Mühe machen, dieses redundante Designelement hinzuzufügen?
Denn *wenn* ein Mauszeiger vorhanden ist, verwirrt es wirklich, wenn er eine falsche Interaktionsart signalisiert, selbst wenn das Element ohne Mauszeiger ausreichend klar wäre. Sehen Sie sich die Eingabefelder an (Suchfeld, Name, E-Mail, Antwort) – ihr Zweck ist sehr klar. Aber versuchen Sie, was passiert, wenn sich der Mauszeiger nicht ändert oder sich zu etwas Falschem ändert (wie das Warte-Symbol). Dasselbe gilt für Links, die durch farbigen Text und möglicherweise Unterstreichung sehr klar als Links erkennbar sind, oder für Schaltflächen, die sehr deutlich Schaltflächen sind – auf Touchscreens wäre nichts davon ein Problem, aber wenn wir einen Mauszeiger haben, erwarten wir, dass er bestimmte Informationen vermittelt, und er sollte genau das tun.
Ich habe die Arten von Mauszeigern ziemlich gut verstanden
Wie kann ich ein Schriftart-Symbol als Mauszeiger verwenden?
Super praktisch. Ich habe genau das gesucht. Danke.
Wenn Sie Rock n Roll mögen, schauen Sie sich die Mauszeiger auf dieser Website an :D http://radiokdug.com/
Das habe ich gesagt…
Das könnte total helfen, "versteckte" Aktionen bei einem Zeitachsen-Diagramm zu kommunizieren, wo das Klicken auf einen Punkt etwas bewirkt. Sagen wir, es erweitert etwas und der Mauszeiger hat ein kleines Erweiterungsbild/Symbol daneben.
Als nächstes auf CSS-Tricks: Coole animierte brennende Totenköpfe mit SVG und Hintergrund-MIDI's mit dem <audio>-Tag.
Im Ernst, es gibt viele gute Gründe, die Standard-Mauszeiger des UA neu zu definieren. Ich habe noch nie eine Neudefinition eines Mauszeigers mit einer Bilddatei gesehen, die keine schlechte Wahl war.
Benutzererfahrung hilft bei der Reduzierung von Absprungraten und kann die Konversionsrate verbessern, daher ist es wichtig, eine ansprechende Website zu haben. Enterprise Web Content Management Services wie Sitefinity CMS, WordPress usw. sind potenziell leistungsstarke Plattformen, die Entwicklern die Bereitstellung attraktiver digitaler Erlebnisse ermöglichen. CSS kann attraktive Aufgaben implementieren, aber eine übermäßige Verwendung von CSS kann eine Seite schwer machen. Stellen Sie sicher, dass das Gleichgewicht zwischen Seitenladezeit und Benutzererfahrung gewahrt bleibt. Die Verwendung von Caching-Tools kann helfen, wenn die Website zu viel CSS enthält.
Tolle Zusammenfassung, danke Geoff.
Der Inhalt des vierten Codepens (benutzerdefinierte Mauszeiger-Methoden: SVG, PNG usw.) wurde bei mir browserübergreifend inkonsistent dargestellt. Ich habe im Artikel nichts über Browserkompatibilität gesehen, daher gehe ich davon aus, dass sie robust sein sollten?
Ich hatte keine Zeit, mir den Code anzusehen, aber das ist es, was ich unter Windows 8.1 Pro erlebt habe
Chrome 49 – Funktioniert: SVG, Base64 PNG, PNG. Defekt: Base 64 SVG, GIF
Firefox 45 – Funktioniert: Base64 PNG, PNG. Defekt: SVG, Base 64 SVG, GIF
IE11 – Funktioniert: Keine. Defekt: Alle.
Hallo, bitte, ich habe eine andere Frage als die gepostete, auf dieser Website gibt es verschiedene Arten von Hintergründen, wie mache ich den Hintergrund, der wie FLIESEN aussieht, wie einer davon auf dieser Website?
Entschuldigung Tippfehler "Diese Website hat verschiedene Arten von Hintergründen ...........", wie mache ich den Hintergrund, der wie Fliesen aussieht?