a[href], input[type='submit'], input[type='image'], label[for], select, button, .pointer {
cursor: pointer;
}
Einige Elemente, die klickbar sind, lösen in Browsern auf mysteriöse Weise keinen Zeigercursor aus. Dies behebt das und stellt eine Standardklasse "pointer" zur Verfügung, um sie bei Bedarf auf andere klickbare Dinge anzuwenden.
Ich mag es generell nicht, den Zeiger auf einem Button und ähnlichem zu haben, es fühlt sich einfach... falsch an :o.
Ich widerspreche hier völlig, wenn der Zeiger nicht auf allen Buttons und Links ist, ist das schrecklich für die Benutzerfreundlichkeit.
Der durchschnittliche Benutzer wird den Unterschied nicht bemerken, aber du hast Recht. Desktop-Anwendungen haben keinen Zeiger auf Buttons.
„Es geht um Affordanz. Buttons haben eine hohe Affordanz, die visuell suggeriert, wie sie verwendet werden können. Der Handzeiger wird verwendet, wenn die Affordanz geringer ist, um eine Anzeige zu geben, wie mit diesem Element interagiert werden soll.“
Wo platziert man das also im CSS? Ich finde es eigentlich genial. Nicht viele Leute wissen, dass ein Link klickbar ist, wenn er eine andere Farbe hat (abgesehen von der Unterstreichung).
Gerade darauf gestoßen – könnte auch so verwendet werden
@DanEden Ich nehme an, das würde nur Elemente erfassen, bei denen das Attribut „onclick“ explizit gesetzt ist? Was schade ist, denn alle guten JavaScripter (meiner Meinung nach) verwenden attachEvent oder etwas Ähnliches, um onclick-Ereignisse festzulegen.
Chris, aber widerspricht dieser Ratschlag nicht der CSS-Spezifikation, die (sowohl die CSS 2.1 Recommendation als auch CSS3 Basic UI LCWD) durchweg besagt, dass
cursor: pointer„ein Zeiger ist, der *einen Link* anzeigt“ (nicht „etwas, das klickbar ist“)? Gérard Talbot, einer der Autoren der W3C CSS 2.1 Test Suite, schreibt sogar in der W3C-MailinglisteIst er also völlig falsch oder kann das Ändern des Cursors von der Form, an die sich Benutzer in bestimmten Kontexten vielleicht gewöhnt haben, nicht nur Vorteile, sondern auch Nachteile haben? Und rechtfertigen diese Vorteile die formale Verletzung der CSS-Spezifikation?
Ich frage mich, ob das Ersetzen von
a[href]durcha:linknicht besser für die Performance wäre. Ich habe gehört, dass Attributselektoren die schlimmsten Selektoren sind, wenn es um Geschwindigkeit geht.Gut =)
Dies ist ein klassisches Design-Anti-Muster. Die Arroganz von Designern/Entwicklern, zu dem Schluss zu kommen, dass Betriebssystem- und Browseranbieter falsch liegen und die grundlegenden Annahmen von Webbenutzern in Frage zu stellen, indem sie Kernverhaltensweisen und Idiome der Benutzeroberfläche ändern, an die sie sich gewöhnt haben.
Der Zeiger-/Handcursor ist nur für Links. Ich möchte das in Bezug auf das Web weiter klären und vorschlagen, dass solche Cursors nur auf Links angewendet werden sollten, die vom Browser erkannt werden, was praktisch nur href ist. Wenn ich es nicht mit der mittleren Maustaste klicken und in einem neuen Tab öffnen kann, sollte es keinen Zeigercursor haben. Die einzige Ausnahme, die mir einfällt, ist, wenn die verwendeten Buttons keine offensichtlichen Buttons sind (geringe Affordanz) – obwohl das normalerweise das Ergebnis schlechten Designs ist.
Ich würde
label[for]inlabeländern, wie bei<label><input type=radio/>label text</label>.Falls jemand eine ganze Liste von Cursors benötigt, findet er sie hier mit Beispielen: Cursor per CSS ändern
In Firefox 22 wird ein cursor:not-allowed; auf deaktivierten Eingabefeldern (z.B. in Berechnungsformularen für Rahmengrößen oder was auch immer) nur an den Rändern des Feldes angezeigt.
In Version 21 funktionierte es noch richtig.
In IE7-9 wird der Cursor nur im Bereich des Wertes anstatt des gesamten Eingabefeldes angezeigt.
Was ich sagen will ist
Alle Diskussionen darüber, ob man cursor:pointer; auf Button-Elementen verwenden sollte oder nicht, sind unsinnig, solange Browserarchitekten ihren egozentrischen Gedanken folgen und kein Browser auf der Welt konsistent ist und alle W3C-Ratschläge befolgt.
Viele Grüße,
noRiddle
Wir haben keine Ahnung, wie es funktioniert. Zu kurze Erklärung & kein Beispiel.
lerne zuerst CSS.