在 SS 中,動(dòng)畫(huà)是為網(wǎng)站添加視覺(jué)效果的有效方式。然而,有時(shí)我們希望更好地控制這些動(dòng)畫(huà)的播放時(shí)間和方式。在這里,我們將探討如何使用 CSS 自定義屬性來(lái)播放和暫停 CSS 動(dòng)畫(huà)。
在繼續(xù)之前,我們應(yīng)該知道 CSS 動(dòng)畫(huà)可以使用關(guān)鍵幀或通過(guò)在兩個(gè)或多個(gè)狀態(tài)之間轉(zhuǎn)換來(lái)創(chuàng)建。
語(yǔ)法
@keyframes animation-name { /* define the animation steps */ }
登錄后復(fù)制
我們通過(guò)給動(dòng)畫(huà)命名并使用@keyframes關(guān)鍵字來(lái)定義動(dòng)畫(huà)。在大括號(hào)內(nèi),我們使用百分比或關(guān)鍵字值定義動(dòng)畫(huà)的步驟。
CSS 中的播放和暫停動(dòng)畫(huà)
在 CSS 中,播放和暫停動(dòng)畫(huà)是指控制動(dòng)畫(huà)元素的能力。這是一種為網(wǎng)站添加動(dòng)感和視覺(jué)趣味的方法。
播放和暫停動(dòng)畫(huà)允許我們控制這些動(dòng)畫(huà)的播放時(shí)間和方式。如果我們想讓用戶(hù)能夠在需要集中注意力時(shí)暫停動(dòng)畫(huà),這會(huì)非常有用。
在CSS中,我們可以使用animation-play-state屬性來(lái)控制動(dòng)畫(huà)是運(yùn)行還是暫停。默認(rèn)情況下,animation-play-state 屬性設(shè)置為running,這意味著動(dòng)畫(huà)將在頁(yè)面加載時(shí)自動(dòng)播放。但是,我們可以使用 CSS 更改此屬性的值以隨時(shí)啟動(dòng)或停止動(dòng)畫(huà)。
要使用 CSS 創(chuàng)建播放和暫停動(dòng)畫(huà)效果,您可以按照以下步驟操作 –
第 1 步:定義動(dòng)畫(huà)
第一步,我們需要定義我們想要控制的動(dòng)畫(huà)。我們可以使用關(guān)鍵幀創(chuàng)建一個(gè)簡(jiǎn)單的動(dòng)畫(huà)。
第 2 步:創(chuàng)建播放和暫停效果
定義動(dòng)畫(huà)后,我們需要?jiǎng)?chuàng)建控制動(dòng)畫(huà)的元素。我們可以使用任何 HTML 元素,例如按鈕、復(fù)選框和懸停效果。
第 3 步:定義 CSS 自定義屬性
現(xiàn)在,我們需要定義保存動(dòng)畫(huà)狀態(tài)的 CSS 自定義屬性。我們可以為自定義屬性使用任何名稱(chēng),但在本示例中,我們將使用 –animation-play-state 和 –animation-timingfunction。
我們將通過(guò)示例來(lái)理解上述概念。
示例 1
下面是如何創(chuàng)建簡(jiǎn)單的幻燈片動(dòng)畫(huà)的示例。
<!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>
登錄后復(fù)制
示例 2
這是如何使用 CSS 自定義屬性播放和暫停 CSS 動(dòng)畫(huà)的又一個(gè)示例。
<!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>
登錄后復(fù)制
結(jié)論
使用CSS自定義屬性來(lái)播放和暫停CSS動(dòng)畫(huà)提供了一種簡(jiǎn)單有效的方法來(lái)控制網(wǎng)頁(yè)上的動(dòng)畫(huà)。在第一個(gè)示例中,我們使用關(guān)鍵幀動(dòng)畫(huà)來(lái)定義動(dòng)畫(huà),并使用animation-play-state屬性來(lái)控制其狀態(tài)。在第二個(gè)示例中,我們使用過(guò)渡動(dòng)畫(huà)并更改自定義屬性的值來(lái)控制動(dòng)畫(huà)的狀態(tài)。這兩種技術(shù)都提供了一種創(chuàng)建可以使用 CSS 輕松控制的動(dòng)態(tài)動(dòng)畫(huà)的方法。
以上就是如何使用 CSS 自定義屬性播放和暫停 CSS 動(dòng)畫(huà)?的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注www.92cms.cn其它相關(guān)文章!