animation-timing-function
Baseline
Widely available
This feature is well established and works across many devices and browser versions. Itâs been available across browsers since ÑенÑÑбÑÑ 2015 г..
CSS ÑвойÑÑво animation-timing-function задаÑÑ ÐºÐ°Ðº пÑоиÑÑ
Ð¾Ð´Ð¸Ñ Ð°Ð½Ð¸Ð¼Ð°ÑÐ¸Ñ Ð² ÑеÑении длиÑелÑноÑÑи каждого Ñикла.
ÐнÑеÑакÑивнÑй пÑимеÑ
animation-timing-function: linear;
animation-timing-function: ease-in-out;
animation-timing-function: steps(5, end);
animation-timing-function: cubic-bezier(0.1, -0.6, 0.2, 0);
<section class="flex-column" id="default-example">
<div class="animating" id="example-element"></div>
<button id="play-pause">Play</button>
</section>
#example-element {
animation-duration: 3s;
animation-iteration-count: infinite;
animation-name: slide;
animation-play-state: paused;
background-color: #1766aa;
border-radius: 50%;
border: 5px solid #333;
color: white;
height: 150px;
margin: auto;
margin-left: 0;
width: 150px;
}
#example-element.running {
animation-play-state: running;
}
#play-pause {
font-size: 2rem;
}
@keyframes slide {
from {
background-color: orange;
color: black;
margin-left: 0;
}
to {
background-color: orange;
color: black;
margin-left: 80%;
}
}
"use strict";
window.addEventListener("load", () => {
const el = document.getElementById("example-element");
const button = document.getElementById("play-pause");
button.addEventListener("click", () => {
if (el.classList.contains("running")) {
el.classList.remove("running");
button.textContent = "Play";
} else {
el.classList.add("running");
button.textContent = "Pause";
}
});
});
ÐоÑÑаÑоÑно Ñдобно иÑполÑзоваÑÑ ÑокÑаÑÑнное ÑвойÑÑво animation Ð´Ð»Ñ Ñого, ÑÑÐ¾Ð±Ñ ÑÑÑановиÑÑ Ð²Ñе ÑвойÑÑва Ð´Ð»Ñ Ð°Ð½Ð¸Ð¼Ð°Ñии одновÑеменно.
СинÑакÑиÑ
/* Keyword values */
animation-timing-function: ease;
animation-timing-function: ease-in;
animation-timing-function: ease-out;
animation-timing-function: ease-in-out;
animation-timing-function: linear;
animation-timing-function: step-start;
animation-timing-function: step-end;
/* Function values */
animation-timing-function: cubic-bezier(0.1, 0.7, 1, 0.1);
animation-timing-function: steps(4, end);
/* Steps Function keywords */
animation-timing-function: steps(4, jump-start);
animation-timing-function: steps(10, jump-end);
animation-timing-function: steps(20, jump-none);
animation-timing-function: steps(5, jump-both);
animation-timing-function: steps(6, start);
animation-timing-function: steps(8, end);
/* Multiple animations */
animation-timing-function: ease, step-start, cubic-bezier(0.1, 0.7, 1, 0.1);
/* Global values */
animation-timing-function: inherit;
animation-timing-function: initial;
animation-timing-function: unset;
ÐÑеменнÑе ÑÑнкÑии могÑÑ Ð±ÑÑÑ ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ñ Ð² полÑзоваÑелÑÑкиÑ
клÑÑевÑÑ
кадÑаÑ
в пÑавилаÑ
@keyframes. ÐÑли в клÑÑевом кадÑе знаÑение animation-timing-function Ñказано, ÑооÑвеÑÑÑвÑÑÑее знаÑение animation-timing-function Ð¾Ñ ÑлеменÑа к коÑоÑÐ¾Ð¼Ñ Ð°Ð½Ð¸Ð¼Ð°ÑÐ¸Ñ Ð¿Ñименена иÑполÑзÑеÑÑÑ Ð´Ð»Ñ ÑÑого клÑÑевого кадÑа.
ÐнаÑениÑ
<timingfunction>-
ÐаждÑй
<timing-function>пÑедÑÑавлÑÐµÑ ÑÑнкÑÐ¸Ñ ÑаÑÑÑÑа вÑемени Ð´Ð»Ñ ÑвÑзи Ñ ÑооÑвеÑÑÑвÑÑÑим ÑвойÑÑвом animate, как опÑеделено вanimation-property.
ФоÑмалÑнÑй ÑинÑакÑиÑ
animation-timing-function =
<easing-function>#
<easing-function> =
<linear-easing-function> |
<cubic-bezier-easing-function> |
<step-easing-function>
<linear-easing-function> =
linear |
<linear()>
<cubic-bezier-easing-function> =
ease |
ease-in |
ease-out |
ease-in-out |
<cubic-bezier()>
<step-easing-function> =
step-start |
step-end |
<steps()>
<linear()> =
linear( [ <number> && <percentage>{0,2} ]# )
<cubic-bezier()> =
cubic-bezier( [ <number [0,1]> , <number> ]#{2} )
<steps()> =
steps( <integer> , <step-position>? )
<integer> =
<number-token>
<step-position> =
jump-start |
jump-end |
jump-none |
jump-both |
start |
end
ÐÑимеÑÑ
См. CSS animations.
СпеÑиÑикаÑии
| Specification |
|---|
| CSS Animations Level 1> # animation-timing-function> |
СовмеÑÑимоÑÑÑ Ñ Ð±ÑаÑзеÑами
СмоÑÑиÑе Ñакже