


So deaktivieren Sie :hover-Stile auf Touch-Geräten effektiv: Eine umfassende Anleitung
So deaktivieren Sie :Hover-Stile auf Touch-Geräten: Eine umfassende Anleitung
Problem:
Wenn Touch-Geräte Websites besuchen, geschieht Folgendes: Hover-CSS-Stil löst bei Klicks oder Tippen aus. Dies kann ablenken oder sogar dazu führen, dass interaktive Elemente nicht zugänglich sind.
Ziel:
Alle :hover-CSS-Deklarationen für Touch-Geräte entfernen oder ignorieren, ohne den Selektor jeder Deklaration zu kennen.
Lösungen:
JavaScript-Entfernung
Entfernen Sie alle CSS-Regeln, die :hover enthalten, mithilfe von JavaScript.
<code class="javascript">if (hasTouch()) { for (var si in document.styleSheets) { for (var ri = styleSheet.rules.length - 1; ri >= 0; ri--) { if (styleSheet.rules[ri].selectorText.match(':hover')) { styleSheet.deleteRule(ri); } } } }</code>
Vorteile:
- Kompatibel mit älteren Browsern und erfordert keine CSS-Änderungen.
Nachteile: - Deaktiviert den Mauszeiger auf gemischten Maus- und Touch-Geräten, was die Benutzererfahrung beeinträchtigt.
- Es können nur Stylesheets entfernt werden, die auf derselben Domain gehostet werden.
Nur CSS mit Medienabfragen
Verwenden Sie @media-Blöcke, um :hover-Regeln zu enthalten.
<code class="css">@media (hover: hover) { a:hover { color: blue; } }</code>
Vorteile:
- Einfach in CSS zu implementieren.
Nachteile: - Erfordert Unterstützung für Hover-Medien Abfragen (iOS 9.0, Chrome für Android, Android 5.0).
- Inkonsistent für gemischte Maus- und Touch-Geräte.
Berührungserkennung und CSS-Injection
Berührungsereignisse erkennen Verwenden Sie JavaScript und fügen Sie bedingt eine CSS-Klasse hinzu.
<code class="js">if (!hasTouch()) document.body.className += ' hasHover'</code>
<code class="css">body.hasHover a:hover { color: blue; }</code>
Vorteile:
- Zuverlässiger als Medienabfragen für Mixed-Touch-Geräte.
Nachteile: - Immer noch von Berührungsemulationsereignissen betroffen (z. B. Mauszeiger auf Touchscreens).
Ultimative Lösung: Dynamische Schwebeerkennung
Aktivieren oder deaktivieren Sie Hover-Stile basierend auf Mauszeiger- und Berührungsereignissen.
<code class="js">function watchForHover() { document.addEventListener('touchstart', updateLastTouchTime, true) document.addEventListener('touchstart', disableHover, true) document.addEventListener('mousemove', enableHover, true) }</code>
Vorteile:
- Die robusteste Lösung, funktioniert auf allen Browsern.
- Passt den Hover-Stil dynamisch an die Geräteeingabe an.
Nachteile: - Verfügt über eine kurze Verzögerung nach Berührungsereignissen (z. B. 500 ms), um emulierte Mausbewegungsereignisse zu verhindern.
Das obige ist der detaillierte Inhalt vonSo deaktivieren Sie :hover-Stile auf Touch-Geräten effektiv: Eine umfassende Anleitung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Ich habe diese Frage neulich bekommen. Mein erster Gedanke ist: seltsame Frage! Bei der Spezifität geht es um Selektoren, und Rules sind keine Selektoren, also ... irrelevant?

Ja, Sie können, und es ist nicht wirklich wichtig in welcher Reihenfolge. Ein CSS -Präprozessor ist nicht erforderlich. Es funktioniert in regulären CSS.

Sie sollten auf jeden Fall weitausgestellte Cache-Header auf Ihren Vermögenswerten wie CSS und JavaScript (und Bilder und Schriftarten und was auch immer) festlegen. Das sagt dem Browser

Viele Entwickler schreiben darüber, wie sie eine CSS -Codebasis pflegen können, aber nicht viele von ihnen schreiben darüber, wie sie die Qualität dieser Codebasis messen. Sicher, wir haben

Haben Sie jemals ein Formular gehabt, das ein kurzes, willkürliches Stück Text akzeptieren musste? Wie ein Name oder was auch immer. Das ist genau das, wofür es ist. Es gibt viele

Ich bin so aufgeregt, nach Zürich, der Schweiz, zur Frontkonferenz zu gehen (liebe diesen Namen und diese URL!). Ich war noch nie in der Schweiz, also bin ich aufgeregt

Eine meiner Lieblingsentwicklungen in der Softwareentwicklung war das Aufkommen von Serverless. Als Entwickler, der die Tendenz hat, sich in den Details festzuhalten

In diesem Beitrag werden wir eine E -Commerce -Store -Demo verwenden, die ich für Netlify erstellt und bereitgestellt habe, um zu zeigen, wie wir dynamische Routen für eingehende Daten erstellen können. Es ist fair


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

SecLists
SecLists ist der ultimative Begleiter für Sicherheitstester. Dabei handelt es sich um eine Sammlung verschiedener Arten von Listen, die häufig bei Sicherheitsbewertungen verwendet werden, an einem Ort. SecLists trägt dazu bei, Sicherheitstests effizienter und produktiver zu gestalten, indem es bequem alle Listen bereitstellt, die ein Sicherheitstester benötigen könnte. Zu den Listentypen gehören Benutzernamen, Passwörter, URLs, Fuzzing-Payloads, Muster für vertrauliche Daten, Web-Shells und mehr. Der Tester kann dieses Repository einfach auf einen neuen Testcomputer übertragen und hat dann Zugriff auf alle Arten von Listen, die er benötigt.

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Herunterladen der Mac-Version des Atom-Editors
Der beliebteste Open-Source-Editor

MinGW – Minimalistisches GNU für Windows
Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.