Heim > Web-Frontend > CSS-Tutorial > Hauptteil

Warum kann ich den Mauszeiger nicht über ein ausgeblendetes Element bewegen: Ein CSS-Sichtbarkeitsrätsel?

DDD
Freigeben: 2024-11-12 06:40:02
Original
517 Leute haben es durchsucht

Why Can't I Hover Over a Hidden Element: A CSS Visibility Conundrum?

Fehlerbehebung bei versteckten Elementen: CSS-Sichtbarkeitsdilemma

Auf der Suche nach Fähigkeiten zum Verstecken von Spoilern haben Sie die Hebelwirkung einer „Spoiler“-Klasse implementiert die CSS-Sichtbarkeitseigenschaft. Allerdings sind Ihre Bemühungen auf eine unerwartete Hürde gestoßen: Die Spoiler bleiben beim Schweben verborgen. Lassen Sie uns das Problem untersuchen und eine Lösung finden.

Die Herausforderung mit schwebender Unsichtbarkeit

Die CSS-Sichtbarkeitseigenschaft macht das Element, wie Sie es beabsichtigt haben, verborgen. Es gibt jedoch einen entscheidenden Vorbehalt: Sobald ein Element ausgeblendet ist, gelangt es in einen Zustand, in dem es keine Eingaben mehr empfangen kann, einschließlich Hover-Ereignissen. Dies stellt ein Dilemma dar, da das Schweben über dem verborgenen Element genau der Auslöser für das Aufdecken des Spoilers ist.

Eine kreative Lösung: Verschachtelte Elemente

Um diese Barriere zu überwinden, haben wir Ich werde eine clevere Verschachtelungstechnik anwenden. Durch Platzieren des Spoilertexts in einem verschachtelten Element können wir seine Sichtbarkeit selektiv anvisieren und umschalten, während wir die Hover-Interaktion auf dem äußeren Container beibehalten.

Aktualisierte CSS- und HTML-Struktur

.spoiler span {
    visibility: hidden;
}

.spoiler:hover span {
    visibility: visible;
}
Nach dem Login kopieren
Spoiler: <span class="spoiler"><span>E.T. phones home.</span></span>
Nach dem Login kopieren

Demo und Chrome-spezifische Verbesserung

Sehen Sie sich die Live-Demonstration hier an: http://jsfiddle.net/DBXuv/. Sie werden bemerken, dass der Spoilertext jetzt erscheint, wenn Sie mit der Maus darüber fahren.

Für Chrome-Benutzer kann eine zusätzliche CSS-Regel die Barrierefreiheit verbessern:

.spoiler {
    outline: 1px solid transparent;
}
Nach dem Login kopieren

Diese Gliederung fügt einen subtilen visuellen Hinweis auf die ausgeblendeten Elemente hinzu Präsenz, wodurch es für Benutzer einfacher wird, den Spoiler-Inhalt zu entdecken.

Aktualisierte Demo mit der Chrome-Verbesserung: http://jsfiddle.net/DBXuv/148/.

Das obige ist der detaillierte Inhalt vonWarum kann ich den Mauszeiger nicht über ein ausgeblendetes Element bewegen: Ein CSS-Sichtbarkeitsrätsel?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage