it-swarm.com.de

Funktioniert css hover auf mobilen Geräten?

Funktioniert css hover auf mobilen Geräten? Ich habe eine CSS-Hover-Klasse, die in einem normalen Webbrowser gut funktioniert, auf mobilen Browsern jedoch nicht.

57
Sam

Die :hover-Pseudoklasse benötigt ein Zeigegerät (grafische Eingabe), mit dem die Aktionen Zeigen und Auswählen/Aktivieren unterschieden werden können. Auf mobilen Geräten mit einer Touch-Oberfläche haben Sie normalerweise nicht die Erstere, sondern nur die Letztere. Bei einigen Stiftschnittstellen ist nur das Aktivieren und nicht das Zeigen möglich.

Die :hover-Pseudoklasse gilt, während der Benutzer ein Element (mit einem Zeigegerät) bestimmt, es jedoch nicht aktiviert. Ein visueller Benutzeragent kann diese Pseudoklasse beispielsweise anwenden, wenn der Cursor (Mauszeiger) über einer Box steht, die von dem Element generiert wird. Benutzerprogramme, die keine interaktiven Medien unterstützen, müssen diese Pseudoklasse nicht unterstützen. Einige konforme Benutzeragenten, die interaktive Medien unterstützen, können diese Pseudoklasse möglicherweise nicht unterstützen (z. B. ein Stiftgerät).

- W3C: CSS 2.1: Selektoren, dynamische Pseudoklassen

Also, um deine Frage zu beantworten: Es hängt vom Gerät ab, aber wahrscheinlich nicht. Und verlasse dich nicht darauf. Wenn Touchscreen-Geräte immer beliebter werden, verlieren Sie die Gesamtheit von Nur-Point-Events.

33
Joey

Seufzer. Es scheint, dass niemand, der diese Frage beantwortete, es tatsächlich auf einem echten Gerät versucht hat. In vielen Fällen funktioniert es. Der erste Klick fungiert als Schwebeflug.

Weitere Informationen hier: http://designshack.net/articles/css/are-hover-events-extinct/

24
Andy Baker

Es sei denn, das Gerät erkennt, wenn jemand den Finger über den Bildschirm bewegt, und tippt gerade. :)

7
Nathan Long

Was bedeutet der Fragesteller unter "Funktioniert css-hover auf mobilen Geräten?" 

Offensichtlich meint er es nicht wörtlich, weil es auf mobilen Geräten keine Schwebeflugfunktion gibt, also kann es nicht funktionieren.

Wenn er bedeutet: "Wenn ich auf einem mobilen Gerät auf ein Objekt mit einem Hover-Stil tippe, passiert etwas?" Die Antwort lautet Ja, aber was passiert, hängt vom Gerät/Browser ab. 

Speziell auf iPhone/Safari und Android ist die Antwort so, als hätten Sie einen OnClick () - Ereignishandler mit der Stiländerung geschrieben. Dieser Vorgang bleibt bestehen, bis Sie auf ein anderes Objekt tippen. Bei Windows Phone wird der Stil geändert, wenn Sie den Finger auf dem Telefon gedrückt halten und beim Loslassen wieder zurückkehren.

Sie können Ihr Gerät auf der Testseite überprüfen, die ich unter davidleader.net/mobiledemo.html eingerichtet habe.

7
David

Dies hängt vom Browser ab, der auf dem mobilen Gerät verwendet wird. Siehe Quirks-Modus für mobile Geräte und ob Ihr Browser/Ihre Plattform dies implementiert.

3
Digicoder

Aus meiner eigenen Erfahrung funktioniert es gut auf meinem iphone4, was auch immer der Browser ist (Safari oder Chrome), aber es funktioniert nicht richtig auf meinem nexus10 mit Chrome ...

Ich habe verwendet: hover, um das Menü zu implementieren. Wenn ich sage "es funktioniert", meine ich, dass sich die erste Berührung wie ein Schwebeflug auf einem Desktop verhält und eine zweite Berührung sich wie ein Klick verhält .. Wenn ich sage "es funktioniert nicht", meine ich damit eine Berührung verhält sich wie ein Klick direkt ...

2
dajam

Ich würde nein sagen, da Sie nicht in einer mobilen Schnittstelle schweben. Sie können einfach drücken, wenn auf dem Touchscreen. Ansonsten gehen Sie einfach durch Links.

0
Dustin Laine

funktioniert auch für Blackberry Storm 1-Geräte, da sie Berührungs- und Klickereignisse aufgrund ihrer suedo-taktilen Bildschirme haben. 

0
rlemon

bei Touchscreen-Geräten kann es nicht magisch sein, funktioniert aber auf Mobiltelefonen, auf denen der Benutzer mithilfe von Pfeiltasten (oder bei Amazon Kindle) navigiert

0
silverskater

: hover funktioniert mit dem Android-Standardbrowser, aber es ist wirklich schwierig (für den Benutzer), den Hover auszulösen, ohne gleichzeitig einen Klick auszulösen. 

0
peq