CSSKeyframesRule
Базовая поддержка Широко распространена *
Эта функция хорошо отработана и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с сентября 2015 года.
* Некоторые части этой функции могут иметь разную степень поддержки.
Интерфейс CSSKeyframesRule описывает объект, представляющий полный набор ключевых кадров для анимации CSS. Он соответствует содержимому целого @keyframes правила.
Свойства экземпляра
Наследует свойства от своего предка CSSRule.
CSSKeyframesRule.name-
Представляет имя ключевых кадров, используемое свойством
animation-name. -
CSSKeyframesRule.cssRulesТолько для чтения -
Возвращает
CSSRuleListключевых кадров в списке. -
CSSKeyframesRule.lengthТолько для чтения -
Возвращает количество ключевых кадров в списке.
Методы экземпляра
Наследует методы от своего предка CSSRule.
CSSKeyframesRule.appendRule()-
Вставляет новое правило ключевых кадров в текущее CSSKeyframesRule. Параметр — строка, содержащая ключевой кадр в том же формате, что и запись в
@keyframesправиле. Если она содержит более одного правила ключевых кадров, выбрасываетсяDOMExceptionсSYNTAX_ERR. CSSKeyframesRule.deleteRule()-
Удаляет правило ключевых кадров из текущего CSSKeyframesRule. Параметр — индекс ключевого кадра, подлежащего удалению, выраженный в виде строки, разрешающейся как число между
0%и100%. CSSKeyframesRule.findRule()-
Возвращает правило ключевого кадра, соответствующее заданному ключу. Ключ — строка, содержащая индекс ключевого кадра, подлежащего возвращению, разрешающаяся в процентное значение между
0%и100%. Если такого ключевого кадра не существует,findRuleвозвращаетnull.
Пример
Использование CSSKeyframesRule
CSS включает правило ключевых кадров. Это будет первый CSSRule возвращаемый document.styleSheets[0].cssRules. myRules[0] возвращает объект CSSKeyframesRule.
@keyframes slide-in {
from {
transform: translateX(0%);
}
to {
transform: translateX(100%);
}
}
const myRules = document.styleSheets[0].cssRules; const keyframes = myRules[0]; // a CSSKeyframesRule
Доступ к индексам
К CSSKeyframesRule можно получить доступ с помощью индексов, как к массиву, и это работает аналогично свойству cssRules.
const keyframes = document.styleSheets[0].cssRules[0];
for (let i = 0; i < keyframes.length; i++) {
console.log(keyframes[i].keyText);
}
// Output:
// 0%
// 100%
Спецификации
| Спецификация |
|---|
| CSS Анимации Уровень 1 # interface-csskeyframesrule |
Совместимость браузеров
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
CSSKeyframesRule |
311–31 | 12 | 485–48 | 1815–1812.1–1512–12.1 | 9.14–9.1 | 3118–31 | 485–48 | 1814–1812.1–1412–12.1 | 9.33.2–9.3 | 2.01.0–2.0 | 4.4.31–4.4.3 |
appendRule |
411–45 | 12 | 215–21 | 2815–3112–15 | 9.14 | 4118–45 | 215–21 | 2814–3212–14 | 9.33.2 | 4.01.0–5.0 | 414.4–45 |
cssRules |
1 | 12 | 5 | 12 | 4 | 18 | 5 | 12 | 3.2 | 1.0 | 4.4 |
deleteRule |
1 | 12 | 5 | 12 | 4 | 18 | 5 | 12 | 3.2 | 1.0 | 4.4 |
findRule |
1 | 12 | 5 | 12 | 4 | 18 | 5 | 12 | 3.2 | 1.0 | 4.4 |
length |
123 | 123 | 109 | 109 | 17 | 123 | 109 | 82 | 17 | 27.0 | 123 |
name |
1 | 12 | 5 | 12 | 4 | 18 | 5 | 12 | 3.2 | 1.0 | 4.4 |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/CSSKeyframesRule