CSSKeyframesRule

CSSKeyframesRule 接口描述了一个对象,它表示 CSS 动画的一组完整关键帧。它对应于整个 @keyframes at-规则 的内容。

CSSRule CSSKeyframesRule

实例属性

从其祖先 CSSRule 继承属性。

CSSKeyframesRule.name

表示关键帧的名称,由 animation-name 属性使用。

CSSKeyframesRule.cssRules 只读

返回一个 CSSRuleList,其中包含列表中的关键帧。

CSSKeyframesRule.length 只读

返回列表中的关键帧数量。

实例方法

从其祖先 CSSRule 继承方法。

CSSKeyframesRule.appendRule()

在当前 CSSKeyframesRule 中插入新的关键帧规则。参数是一个字符串,包含关键帧,格式与 @keyframes at-规则的条目相同。如果它包含多个关键帧规则,则会抛出一个带有 SYNTAX_ERRDOMException

CSSKeyframesRule.deleteRule()

从当前 CSSKeyframesRule 中删除关键帧规则。参数是要删除的关键帧的索引,表示为一个字符串,解析为 0%100% 之间的数字。

CSSKeyframesRule.findRule()

返回与给定键对应的关键帧规则。键是一个字符串,包含要返回的关键帧的索引,解析为 0%100% 之间的百分比。如果不存在这样的关键帧,findRule 返回 null

示例

使用 CSSKeyframesRule

CSS 包含关键帧 at-规则。这将是 document.styleSheets[0].cssRules 返回的第一个 CSSRulemyRules[0] 返回一个 CSSKeyframesRule 对象。

css
@keyframes slidein {
  from {
    transform: translateX(0%);
  }

  to {
    transform: translateX(100%);
  }
}
js
const myRules = document.styleSheets[0].cssRules;
const keyframes = myRules[0]; // a CSSKeyframesRule

访问索引

CSSKeyframesRule 可以像数组一样被索引,并且功能类似于其 cssRules 属性。

js
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

浏览器兼容性

BCD 表格仅在启用了 JavaScript 的浏览器中加载。

另请参阅