CSSKeyframesRule
Baseline
Widely available
*
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2016年8月.
* Some parts of this feature may have varying levels of support.
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 には keyframes アットルールがあります。これは document.styleSheets[0].cssRules で返される最初の CSSRule になります。
myRules[0] は CSSKeyframesRule オブジェクト 1 つを返します。
@keyframes slide-in {
from {
transform: translateX(0%);
}
to {
transform: translateX(100%);
}
}
const myRules = document.styleSheets[0].cssRules;
const keyframes = myRules[0]; // CSSKeyframesRule
インデックスでのアクセス
CSSKeyframesRuleは配列のようにインデックス付けすることができ、その cssRules プロパティと同様の関数を持つことができます。
const keyframes = document.styleSheets[0].cssRules[0];
for (let i = 0; i < keyframes.length; i++) {
console.log(keyframes[i].keyText);
}
// 出力結果:
// 0%
// 100%
仕様書
| Specification |
|---|
| CSS Animations Level 1> # interface-csskeyframesrule> |