首頁 > web前端 > css教學 > 如何讓 CSS 懸停狀態在滑鼠移開後保持不變?

如何讓 CSS 懸停狀態在滑鼠移開後保持不變?

DDD
發布: 2025-01-03 04:11:07
原創
542 人瀏覽過

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

在懸停後維護CSS 懸停狀態

在網頁設計中,懸停狀態允許用戶將滑鼠懸停在頁面上的元素上進行轉換他們。但是,在某些情況下,即使在使用者滑鼠離開元素後,也希望懸停狀態能夠持續存在。

考慮以下程式碼片段:

#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;
}
登入後複製

此程式碼使用 :hover當滑鼠懸停在另一個元素 (#about) 上時顯示一個元素 (#onabout) 的偽類。然而,當使用者將滑鼠從#about 上移開時,#onabout 就會消失。

為了讓懸停狀態持續存在,CSS 提供了幾個選項。一種方法是引入過渡屬性:

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

#about:hover #onabout {
  transition: 0.2s ease;
  opacity: 1;
}
登入後複製

此程式碼在將滑鼠懸停在 #about 上並移開時添加平滑的過渡效果。也修改了 opacity 屬性,以確保 #onabout 在滑鼠離開 #about 後仍然可見。

另一種方法涉及使用:active 偽類:

#about {
  ...
  cursor: pointer;
}

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

#about:active #onabout {
  opacity: 1;
  transition: 0.2s ease;
}
登入後複製

此程式碼新增了一個遊標指示#about 是可點擊的,並使用:active 在元素點擊時保持懸停狀態。這種過渡確保了無縫的視覺體驗。

最後,對於那些尋求更高級解決方案的人,CSS3 提供了animation-play-state 屬性:

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

#about:hover #onabout {
  animation-play-state: running;
}
登入後複製

這段程式碼引入了一個帶有@keyframes 懸停聲明並預設暫停。當使用者將滑鼠懸停在 #about 上時,animation-play-state 將設定為正在運行,啟動動畫並即使在滑鼠離開元素後也保持懸停狀態。

以上是如何讓 CSS 懸停狀態在滑鼠移開後保持不變?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板