Eigener Lupen-Cursor mit reinem CSS (Update: Cross Browser-Lösung)
Ich wusste bisher nicht, dass man der CSS-Eigenschaft Cursor auch eine URL zuweisen kann, aber so steht es beim W3C geschrieben. Und nach meinen ersten Tests funktioniert es auch, zumindest mit Safari 3.1 und – man lese und staune – ab Internet Explorer 6.
Sehr nützlich ist das beispielsweise bei Bildern, die der User vergrößern kann. Wenn sich der Cursor über dem Bild zu einer Lupe verwandelt, ist das sicherlich meilenweit eleganter, als wenn man „Klicken zum Vergrößern“ als Tooltip in das title-Attribut des Bildes schreibt:
Und so geht’s
Sie brauchen eine Cursor-Datei im .cur-Format, das meines Wissen nur unter Windows erzeugt werden kann. Ich habe dafür das Freeware-Programm SC Icon Editor verwendet. Wenn Sie mit einer Plus- bzw. Minus-Lupe experimentieren wollen, können Sie die entsprechenden .cur-Dateien auch bei mir herunterladen und für beliebige Zwecke verwenden.
In Ihrer CSS Datei müssen Sie in einer geeigneten Klasse den Cursor definieren, der Wert pointer ist hier als Fallback für Browser gedacht, die mit der Cursor-URL nichts anfangen können:
cursor: url('/bilder/lupe.cur'), pointer;
Für die Minus-Lupe entsprechend:
cursor: url('/bilder/lupeminus.cur'), pointer;
Ich definiere den Lupen-Cursor in einer speziellen Klasse, die ich grundsätzlich allen Lightbox-Links sowieso schon zuweise, und den Minus-Lupen-Cursor in der Lightbox-ID.
Es gibt keinen Schritt 3 – das war’s schon. Firefox- Firefox-Mac- und Opera-User sehen selbst definierte Cursor bisher leider nicht, aber vielleicht schafft es dieses nützliche Feature ja noch in die finale Firefox 3-Version Firefox 3 Mac-Version. Bis dahin sollte man das „Klicken zum Vergrößern“ vielleicht doch noch zumindest unters Bild schreiben.
Update
Nach dem Hinweis von klaus in den Kommentaren kann ich jetzt eine Cross Browser-Lösung anbieten, die in Safari ab 1.2, in allen Firefox-Versionen ab 1.5 und im Internet Explorer ab 6.0 funktioniert. In Opera 9.2.6 Mac funktioniert es nicht, Flock, Camino etc. habe ich nicht getestet.
Für diese Lösung braucht man ein Extra-Stylesheet für den Internet Explorer, das man ihm per Conditional Comment zuweist.
In die normale CSS-Datei kommen für Safari und Firefox diese Cursor-Werte:
cursor: -webkit-zoom-in; cursor: -moz-zoom-in;
In die IE-CSS-Datei kommt die URL für die Cursor-Datei:
cursor: url('/bilder/lupe.cur'), pointer;
Damit sind 97% aller gängigen Browser abgedeckt.
Ähnliche Beiträge:
Aus Freude am Sport Mail.Appetizer für Leopard
Kommentare:
Bei den Kommentaren handelt es sich um fremde Inhalte, die sich „esse est percipi“ nicht zueigen macht. Verantwortlich für den Inhalt eines Kommentars ist der jeweilige Verfasser.
Ich habe keine Probleme, deine Cursor zu sehen. (Firefox 2.0.0.12 Ubuntu)
Hm, dann ist das ein Firefox-Mac-Ding – unter Mac OS X werden sie weder unter Version 2 noch unter Version 3 Beta 4 angezeigt. Aber schön zu wissen, dann sind es ja doch noch einige User mehr, die sie sehen.
Weder auf FF-Mac, noch Flock-Mac, Camino, Opera-Mac oder Safari sehe ich eine Lupe. Überall nur die Zeigehand. :-(
was ist denn mit folgenden css angaben:
-webkit-zoom-in, -moz-zoom-in
-webkit-zoom-out, -moz-zoom-out
ich seh mit Safari 3.1 auf dem Mac auch nur die Zeigehand :( Bin aber noch nicht auf dem Leo unterwegs, evtl. liegts daran?
@Alle
Ihr muesst Euren Browser Cache mal leeren … musste ich auch, damit die CSS Datei neu geladen wird. :)
Schaut mal hier
Da sind die einzelnen Browser aufgelistet.
wow. tatsächlich. cool :)
Unter Camino funktioniert’s auch.
Der Weg über die Conditional Comments ist ja recht aufwändig, da diese nicht extern in der CSS-Datei definiert werden können. Ich habe mal paar Tests gemacht und bei folgendem siehts im IE und FF gut aus:
img.zoom {cursor: -webkit-zoom-in;cursor: -moz-zoom-in;cursor:url(bilder/zoom_in.ico)
}
Vielleicht könnte das noch jemand testen (insbesondere auf Mac-Tauglichkeit).
@ Jan: Hast du mal einen Link zu deinem Test? Bei meinen Tests hatte ich festgestellt, dass alle drei Cursorwerte in einer einzigen CSS-Datei nicht funktionieren, egal in welcher Reihenfolge …
Dazu habe ich jetzt mal eine Frage:
Und zwar hab ich auf meiner Seite schon verschiedene Cursor für verschiedene Klassen definiert – ein benutzerdefinierter Pfeil, eine selbst erstellte Hand für Links und einen Extra Cursor für ein bestimmtes Bild.
Wenn ich jetzt einfach cursor: blabla; hinschreibe, kollidiert der Befehl mit dem bereits eingebundenen Pointer.
Gibt es einen bestimmten Begriff / Klassenbezeichnung für mein selbstgemachtes Plussymbol, welches ich nun den NGG Gallery Bildern zuweisen möchte?
Und a propos NGG Gallery: Die mag selbst eingebundene Cursor nicht unbedingt immer – wenn ich ein Bild herauszoome und dann wieder schließe, lädt er oft meine Cursor nicht wieder, sondern bleibt bei den Systemeigenen hängen.
für Opera braucht man cursor: zoom-in; bzw. @zoom-out@
Kommentar schreiben:
FAQ (Häufig gestellte Fragen)
Kommentare:
- Michael Preidel zu CookieCrumble Testflight jetzt auch für macOS
- Götz zu CookieCrumble Testflight jetzt auch für macOS
- Michael Preidel zu Harbor – Sicherer Hafen [Testflight]
- Henning zu Harbor – Sicherer Hafen [Testflight]
- Michael Preidel zu Harbor – Sicherer Hafen [Testflight]
- Michael Preidel zu Harbor – Sicherer Hafen [Testflight]
Schlagwörter


