CSS3-Übergang funktioniert nicht mit Anzeigeeigenschaft
Problembeschreibung:
Versuch, a zu verwenden Der CSS-Übergang zum Einblenden eines versteckten Div beim Hover führt nicht zum gewünschten Ergebnis. Es werden keine Beschleunigungsübergänge beobachtet.
Analyse des Codes:
Bei der Untersuchung des bereitgestellten Codes wird deutlich, dass das Problem auf die Verwendung der Anzeigeeigenschaft zurückzuführen ist. Die display-Eigenschaft in CSS steuert die Präsenz und Sichtbarkeit von Elementen auf einer Seite. Wenn es auf „Keine“ gesetzt ist, wird das Element im Anfangszustand des versteckten Div aus dem Dokumentfluss der Seite entfernt und effektiv unsichtbar gemacht.
Übergangsanwendbarkeit:
CSS-Übergänge gelten nur für Eigenschaften, die sich auf die Geometrie oder das Erscheinungsbild des Elements auswirken. Im Fall der Anzeigeeigenschaft wird der Sichtbarkeitsstatus des Elements umgeschaltet, anstatt dessen Geometrie oder Aussehen zu ändern. Daher können Übergänge nicht auf die Anzeigeeigenschaft angewendet werden.
Alternative Lösung mit Deckkraft:
Anstatt die Anzeigeeigenschaft zu verwenden, sollten Sie die Verwendung der Deckkrafteigenschaft in Betracht ziehen, um dies zu erreichen den gewünschten Einblendeffekt. Die Deckkraft steuert die Transparenz eines Elements und ermöglicht ein sanftes Einblenden, indem die Deckkraft von 0 auf 1 angepasst wird.
Aktualisierter CSS-Code:
Der folgende aktualisierte CSS-Code nutzt die Opazitätseigenschaft, um einen sanften Einblendübergang zu erzeugen:
#header #button:hover > .content { opacity: 1; height: 150px; padding: 8px; } #header #button .content { opacity: 0; height: 0; padding: 0 8px; overflow: hidden; transition: all .3s ease .15s; }
Vorteile von Deckkraftbasierter Übergang:
Fazit:
Während CSS-Übergänge nicht auf die Anzeigeeigenschaft angewendet werden können, bietet die Opazitätseigenschaft eine praktikable und effektive Lösung zum Erstellen sanfter Überblendungen. in Auswirkungen auf den Schwebeflug. Durch Anpassen des Deckkraftwerts können Sie die Sichtbarkeit und das Erscheinungsbild ausgeblendeter Elemente steuern und so die gewünschten Übergänge nahtlos erzielen.
Das obige ist der detaillierte Inhalt vonWarum funktioniert der CSS-Übergang nicht mit der Eigenschaft „display'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!