Heim > Web-Frontend > CSS-Tutorial > Hauptteil

Wie erreicht man mit CSS reibungslose Übergänge für unscharfe Bilder beim Schweben?

Linda Hamilton
Freigeben: 2024-10-28 05:40:30
Original
205 Leute haben es durchsucht

How to Achieve Smooth Transitions for Blurred Images on Hover with CSS?

CSS-Übergänge für verschwommene Bilder vereinfachen

Wenn Sie mit der CSS-Pseudoklasse :hover über ein Bild fahren, wenden Sie einen Unschärfefilter an Durch die Filtereigenschaft entsteht ein optisch ansprechender Effekt. Es wird jedoch häufig beobachtet, dass das Bild beim Entfernen der Maus abrupt in seinen Normalzustand zurückkehrt. Dieses Verhalten kann auf das Fehlen eines „Ease-Out“-Effekts während der Übergangsphase zurückgeführt werden.

Um dieses Problem zu lösen und einen reibungslosen Übergang in beide Richtungen sicherzustellen, ist es wichtig, die Übergangseigenschaften auf die anzuwenden tatsächliches Element und nicht nur für die :hover-Pseudoklasse. Dadurch kann der Übergang reibungslos erfolgen, wenn Sie mit der Maus über das Element fahren und es verlassen.

Beispiel:

Beachten Sie den folgenden Codeausschnitt:

<code class="css">.img-blur {
  transition: all 0.35s ease-in-out;
}
.img-blur:hover {
  filter: blur(4px);
}</code>
Nach dem Login kopieren

Dieses aktualisierte Beispiel zeigt, wie die Anwendung der Übergangseigenschaften auf die Klasse .img-blur anstelle der Pseudoklasse :hover einen Übergang ergibt, der in beide Richtungen funktioniert.

Zusätzliche Verbesserungen:

Eine weitere häufige Anforderung besteht darin, Text über das unscharfe Bild zu legen, wenn die Maus darüber fährt. Während dies mit JavaScript erreicht werden kann, bieten CSS-Methoden eine effizientere und einfachere Lösung. So geht's:

<code class="css">.img-blur {
  transition: all 0.35s ease-in-out;
  position: relative;
}
.img-blur:hover {
  filter: blur(4px);
  position: absolute;
  z-index: 1;
}
.img-blur:hover .text-overlay {
  display: block;
}

.text-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  color: white;
  padding: 10px;
  text-align: center;
  display: none;
}</code>
Nach dem Login kopieren

Dieser Code führt ein .text-overlay-Element ein, das standardmäßig ausgeblendet ist. Wenn Sie mit der Maus über das Bild fahren, wird die Pseudoklasse :hover aktiviert, die die Überlagerung sichtbar macht und sie über dem unscharfen Bild ausrichtet. Dieser Ansatz bietet eine bessere Kontrolle über den Stil der Textüberlagerung.

Das obige ist der detaillierte Inhalt vonWie erreicht man mit CSS reibungslose Übergänge für unscharfe Bilder beim Schweben?. 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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!