Heim > Web-Frontend > CSS-Tutorial > Wie kann ich dafür sorgen, dass ein CSS-Hover-Status bestehen bleibt, nachdem sich die Maus wegbewegt?

Wie kann ich dafür sorgen, dass ein CSS-Hover-Status bestehen bleibt, nachdem sich die Maus wegbewegt?

DDD
Freigeben: 2025-01-03 04:11:07
Original
542 Leute haben es durchsucht

How Can I Make a CSS Hover State Persist After the Mouse Moves Away?

Aufrechterhaltung des CSS-Hover-Status nach dem Hover

Im Webdesign ermöglicht der Hover-Status, dass sich Elemente auf einer Seite verändern, wenn ein Benutzer mit der Maus darüber fährt ihnen. In manchen Fällen ist es jedoch wünschenswert, dass der Hover-Status auch dann bestehen bleibt, wenn die Maus des Benutzers das Element verlässt.

Beachten Sie den folgenden Codeausschnitt:

#about {
  height: 25px;
  width: 84px;
  background-image: url('about.png');
  position: absolute;
  top: 200px;
  left: 0px;
}

#onabout {
  height: 200px;
  width: 940px;
  position: absolute;
  top: 60px;
  left: 0px;
  color: #fff;
  font-family: 'Lato', sans-serif;
  font-size: 15px;
  font-weight: 300;
  display: none;
}

#about:hover #onabout {
  display: block;
}
Nach dem Login kopieren

Dieser Code verwendet :hover Pseudoklasse zum Anzeigen eines Elements (#onabout), wenn die Maus über ein anderes Element (#about) fährt. Wenn der Benutzer jedoch die Maus von #about wegbewegt, verschwindet #onabout.

Damit der Hover-Status bestehen bleibt, bietet CSS mehrere Optionen. Ein Ansatz besteht darin, eine Übergangseigenschaft einzuführen:

#about {
  ...
  transition: 0.2s ease;
}

#about:hover #onabout {
  transition: 0.2s ease;
  opacity: 1;
}
Nach dem Login kopieren

Dieser Code fügt einen sanften Übergangseffekt hinzu, wenn Sie mit der Maus darüber fahren und sich von #about entfernen. Die opacity-Eigenschaft wird ebenfalls geändert, um sicherzustellen, dass #onabout sichtbar bleibt, nachdem die Maus #about verlässt.

Ein anderer Ansatz beinhaltet die Verwendung der :active-Pseudoklasse:

#about {
  ...
  cursor: pointer;
}

#about:hover #onabout {
  display: block;
}

#about:active #onabout {
  opacity: 1;
  transition: 0.2s ease;
}
Nach dem Login kopieren

Dieser Code fügt a hinzu Cursor, um anzuzeigen, dass #about anklickbar ist, und verwendet :active, um den Hover-Status beizubehalten, wenn auf das Element geklickt wird. Der Übergang gewährleistet ein nahtloses visuelles Erlebnis.

Für diejenigen, die eine erweiterte Lösung suchen, bietet CSS3 schließlich die Eigenschaft „animation-play-state“:

#onabout {
  display: block;
  animation-name: hover;
  animation-play-state: paused;
}

#about:hover #onabout {
  animation-play-state: running;
}
Nach dem Login kopieren

Dieser Code führt eine Animation mit ein @keyframes Hover-Deklaration und pausiert sie standardmäßig. Wenn der Benutzer mit der Maus über #about fährt, wird der Animation-Play-State auf „Running“ gesetzt, wodurch die Animation gestartet und der Hover-Status beibehalten wird, selbst nachdem die Maus das Element verlässt.

Das obige ist der detaillierte Inhalt vonWie kann ich dafür sorgen, dass ein CSS-Hover-Status bestehen bleibt, nachdem sich die Maus wegbewegt?. 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