Heim > Web-Frontend > CSS-Tutorial > Warum funktioniert der CSS-Übergang nicht mit der Eigenschaft „display'?

Warum funktioniert der CSS-Übergang nicht mit der Eigenschaft „display'?

Susan Sarandon
Freigeben: 2024-11-09 05:41:02
Original
200 Leute haben es durchsucht

Why Doesn't CSS Transition Work With the `display` Property?

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;
}
Nach dem Login kopieren

Vorteile von Deckkraftbasierter Übergang:

  • Ermöglicht eine feinkörnige Steuerung des Einblendeffekts durch Anpassen des Deckkraftwerts.
  • Behält die Position und Abmessungen des Elements während des Übergangs bei , im Gegensatz zur Anzeige, bei der das Element aus dem Dokumentfluss entfernt wird.
  • Kompatibel mit CSS-Übergängen, was reibungslose und animierte Elemente ermöglicht Transformationen.

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!

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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage