首頁 > web前端 > css教學 > 如何使用 CSS 自訂屬性來播放和暫停 CSS 動畫?

如何使用 CSS 自訂屬性來播放和暫停 CSS 動畫?

王林
發布: 2023-09-19 08:29:07
轉載
1499 人瀏覽過

如何使用 CSS 自定义属性播放和暂停 CSS 动画?

在 SS 中,動畫是為網站添加視覺效果的有效方法。然而,有時我們希望更好地控制這些動畫的播放時間和方式。在這裡,我們將探討如何使用 CSS 自訂屬性來播放和暫停 CSS 動畫。

在繼續之前,我們應該知道 CSS 動畫可以使用關鍵影格或透過在兩個或多個狀態之間轉換來創建。

文法

@keyframes animation-name {
   /* define the animation steps */
}
登入後複製

我們透過為動畫命名並使用@keyframes關鍵字來定義動畫。在大括號內,我們使用百分比或關鍵字值來定義動畫的步驟。

CSS 中的播放和暫停動畫

在 CSS 中,播放和暫停動畫是指控制動畫元素的能力。這是一種為網站添加動感和視覺趣味的方法。

播放和暫停動畫允許我們控制這些動畫的播放時間和方式。如果我們想讓用戶能夠在需要集中註意力時暫停動畫,這會非常有用。

在CSS中,我們可以使用animation-play-state屬性來控制動畫是運行還是暫停。預設情況下,animation-play-state 屬性設定為running,這表示動畫將在頁面載入時自動播放。但是,我們可以使用 CSS 更改此屬性的值以隨時啟動或停止動畫。

要使用 CSS 建立播放和暫停動畫效果,您可以按照以下步驟操作 -

第 1 步:定義動畫

第一步,我們需要定義我們想要控制的動畫。我們可以使用關鍵影格創建一個簡單的動畫。

第 2 步:建立播放和暫停效果

定義動畫後,我們需要建立控制動畫的元素。我們可以使用任何 HTML 元素,例如按鈕、複選框和懸停效果。

第 3 步:定義 CSS 自訂屬性

現在,我們需要定義保存動畫狀態的 CSS 自訂屬性。我們可以為自訂屬性使用任何名稱,但在本範例中,我們將使用 --animation-play-state 和 --animation-timingfunction。

我們將透過範例來理解上述概念。

範例 1

下面是如何創建簡單的幻燈片動畫的範例。

<!DOCTYPE html>
<html>
<head>
   <style>
      body { text-align: center;}
      .box {
         display: flex;
         height: 80px;
         width: 80px;
         border-radius: 10%;
         color: white;
         background-color: green;
         position: relative;
         animation: my-animation 6s infinite;
      }
      .box:hover { animation-play-state: paused;}
      @keyframes my-animation {
         from {left: 0px;}
         to {left: 400px;}
      }
   </style>
</head>
   <body>
      <h2>A simple animation of a slide</h2>
      <div class="box">Mouse Hove to give me a break.</div>
   </body>
</html>
登入後複製

範例 2

這是如何使用 CSS 自訂屬性來播放和暫停 CSS 動畫的另一個範例。

<!DOCTYPE html>
<html>
<head>
   <style>
      body { text-align: center; }
      .box {
         align-items: center;
         background-color: green;
         display: flex;
         height: 80px;
         width: 80px;
         margin-top: 10px;
         border-radius: 10%;
      }
      .my-slide {--animdur: 5s; --animn: slide; }
      [my-animation] {
         animation: var(--animn, none) var(--animdur, 0s) var(--animtf,
         linear) var(--animic, infinite) var(--animdir, alternate) var(--animps,
         running);
      }
      [my-animation-pause]:checked~[my-animation] {
         --animps: paused;
      }
      @keyframes slide {
         from { margin-left: 0%;}
         to {margin-left: calc(100% - 80px);}
      }
   </style>
</head>
   <body>
      <input type="checkbox" my-animation-pause id="move" class="#" />
      <label for="move" class="#">Check Me to play/paus</label>
      <div class="box my-slide" my-animation="stop"></div>
   </body>
</html>
登入後複製

結論

使用CSS自訂屬性來播放和暫停CSS動畫提供了一種簡單有效的方法來控制網頁上的動畫。在第一個範例中,我們使用關鍵影格動畫來定義動畫,並使用animation-play-state屬性來控制其狀態。在第二個範例中,我們使用過渡動畫並更改自訂屬性的值來控制動畫的狀態。這兩種技術都提供了一種創建可以使用 CSS 輕鬆控制的動態動畫的方法。

以上是如何使用 CSS 自訂屬性來播放和暫停 CSS 動畫?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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