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






